привет! я застрял в настоящее время из-за недостатка знаний. у меня есть следующее:
public void ClientEndConnect(IAsyncResult iar)
{
try
{
CommSocket = (Socket)iar.AsyncState;
CommSocket.EndConnect(iar);
OnNetworkEvents eventArgs = new OnNetworkEvents(true, "Connected: " + CommSocket.RemoteEndPoint.ToString(), string.Empty);
OnUpdateNetworkStatusMessage(this, eventArgs);
}
catch (ArgumentNullException e)
{
OnNetworkEvents eventArgs = new OnNetworkEvents(false, "Network Unavailable", e.Message);
OnUpdateNetworkStatusMessage(this, eventArgs);
}
}
это прекрасно компилируется, но так как это обратный вызов, то так и должно быть: (статично)
public static void ClientEndConnect(IAsyncResult iar)
{
try
{
CommSocket = (Socket)iar.AsyncState;
CommSocket.EndConnect(iar);
OnNetworkEvents eventArgs = new OnNetworkEvents(true, "Connected: " + CommSocket.RemoteEndPoint.ToString(), string.Empty);
OnUpdateNetworkStatusMessage(this, eventArgs);
}
catch (ArgumentNullException e)
{
OnNetworkEvents eventArgs = new OnNetworkEvents(false, "Network Unavailable", e.Message);
OnUpdateNetworkStatusMessage(this, eventArgs);
}
)
но когда я делаю это, я получаю кучу ошибок, таких как:
Ошибка 1 Ссылка на объект требуется для нестатического поля, метода или свойства 'NietzscheBattleships.NetworkHelper.CommSocket'
из-за моего недостатка знаний в C # я не могу разобраться в этих ошибках. пожалуйста, помогите мне понять.
Я читаю о том, что является статичным, но ваши комментарии помогут также прояснить мою путаницу.