私はWeakEventManager
に慣れるしようとしていますし、私は次のようにつまずく:WeakEventManagerと静的イベント
A
とB
間のみ差がstatic
あるが、無視してくださいコピー/貼り付けエラーnameof
;)
ジェネリック型と静的型に関してthis answerが見つかりましたが、A
とは何をしているのですか?WeakEventManager
何とか静的イベントのソースとしてnull
を使用することができます。
なぜstatic
イベントはOKですが、static class
としてTEventSource
が突然ではないという簡単な回答を求めています。
コード:
public class A
{
public static event EventHandler Event;
}
public static class B
{
public static event EventHandler Event;
}
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
WeakEventManager<A, EventArgs>.AddHandler(null, nameof(A.Event), (s, e) => { });
WeakEventManager<B, EventArgs>.AddHandler(null, nameof(B.Event), (s, e) => { });
}
}
エラー:
object sourceKey = (source != null) ? source : StaticSource;
:source
がnullとき
Error CS0718
'B': static types cannot be used as type arguments
あなたのコードを質問にテキストとして記入してください。 – Hendry
通常はそうですが、なぜこの場合にコードが必要ですか?問題を再現するには?本当に?または、画像が腐ってしまう場合は? – Sinatr
[C# - 静的型は型引数として使用できません]の重複している可能性があります(http://stackoverflow.com/questions/5858591/c-sharp-static-types-cannot-be-used-as-type-arguments) – Hendry