C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: WeakEventパターンについて


(過去ログ 58 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■33396 / inTopicNo.1)  WeakEventパターンについて
  
□投稿者/ 大 (1回)-(2009/02/27(Fri) 13:10:25)

分類:[C/C++] 

WeakEventパターンで疑問があります。
検索するとWeakEventManagerのCurrentManagerの実装に

static FooEventManager CurrentManager
{
  get
  {
    Type managerType = typeof(FooEventManager);
    FooEventManager manager = (FooEventManager)
WeakEventManager.GetCurrentManager(managerType);

    if (manager == null)
    {
      manager = new FooEventManager();
      WeakEventManager.SetCurrentManager(managerType, manager);
    }

    return manager;
  }
}

というサンプルが見つかりましたが
複数スレッドからCurrentManagerにアクセスする可能性を考えると

static FooEventManager()
{
  WeakEventManager.SetCurrentManager(typeof(FooEventManager), new 
FooEventManager());
}
static FooEventManager CurrentManager
{
  get { return (FooEventManager)WeakEventManager.GetCurrentManager(typeof
(FooEventManager)); }
}

とした方が適切ではないでしょうか?

あと、RemoveListenerを呼ばなかった場合、Managerに登録された情報は削除されずに
アプリケーションが終了するまで残ってしまうのでしょうか?
必ずRemoveListenerすべきでしょうか?



RemoveListenerについての御意見お願いします

引用返信 編集キー/
■33398 / inTopicNo.2)  Re[1]: WeakEventパターンについて
□投稿者/ επιστημη (1791回)-(2009/02/27(Fri) 13:33:12)
επιστημη さんの Web サイト
2009/02/27(Fri) 14:00:47 編集(投稿者)

http://rararahp.cool.ne.jp/cgi-bin/lng/dotnet/dotnetlng.cgi?print+200901/09010002.txt
# ところで C/C++ じゃないよねコレ

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -