非同期操作から非静的メソッドを呼び出す必要があります。 私はapmデザインを使用しています。代理人を定義して匿名メソッド を割り当てて呼び出しますそれにbeginInvoke。つまり、なぜ私の驚きには非匿名メソッドから非静的メソッドを参照できません
私は私の実装から
任意のアイデアを非静的メソッドを参照することができませんでしたか?
public delegate void UpdatePlayersLogin(IServerCallback callback, Guid callback_playerId, Player player, List<IServerCallback> toRemove, ManualResetEvent handel);
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Reentrant , InstanceContextMode = InstanceContextMode.PerSession)]
public class ServerService : IServer
{
UpdatePlayersLogin updateLogin = (callback, callback_playerId, player, toRemove, handle) =>
{
try
{
callback.PlayerChangedStatus(player);
}
catch (Exception)
{
RemovePlayer(callback, callback_playerId, toRemove);
}
finally
{
handle.Set();
}
};
.
.
private void RemovePlayer(IServerCallback callback, Guid playerId, List<IServerCallback> toRemove)
{ . . . . . . }
private void NotifyPeersOfClientLogin(Player player)
{
. . . . .
foreach (var key_CallBackPair in players)
{
handels[i] = new ManualResetEvent(false);
updateLogin.BeginInvoke(key_CallBackPair.Value, key_CallBackPair.Key, player, toRemove, handels[i], null, null);
. . . . .
}
.....
}
私は非静的メソッドを参照できる方法はありますか?
囲みの範囲を教えてもらえますか?つまり、 'updateLogin'変数はどこで宣言されていますか?そのメソッドの署名を表示できますか? –
確かに1分 –
コンパイルエラーはありますか? – CodesInChaos