TcpClient.cs
Code:
namespace TCP_Communication
{
class TcpClient
{
// ...
public delegate void OnDataAvailable(char[] data);
// ...
}
}
Program.cs
Code:
using System;
using System.Collections.Generic;
using System.Text;
namespace TCP_Communication
{
class Program
{
static void Main(string[] args)
{
// ...
Client.OnDataAvailable = DataArrived;
// ...
}
public void DataArrived(char[] newdata)
{
// empty for now
}
}
}
Error:
'OnDataAvailable': cannot reference a type through an expression; try 'TCP_Communication.TcpClient.OnDataAvailable' instead
Yes, I tried 'TCP_Communication.TcpClient.OnDataAvailable' instead even though it is obviously wrong:
Program.cs
Code:
using System;
using System.Collections.Generic;
using System.Text;
namespace TCP_Communication
{
class Program
{
static void Main(string[] args)
{
// ...
TCP_Communication.TcpClient.OnDataAvailable = DataArrived;
// ...
}
public void DataArrived(char[] newdata)
{
// empty for now
}
}
}
This time it gives this error message:
'TCP_Communication.TcpClient.OnDataAvailable' is a 'type', which is not valid in the given context
I read the article in MSDN about C# delegates, but still I can't find what I'm missing.
Please help me guys, how can I fix this code?