1つのプロパティのみを保持するための一般的な組み込みのイベントがありますか?
質問
私はそれを読むのに適切なプロパティを備えた1つのフィールドと適切なプロパティを備えた多くのEventArgsクラスを持っています:
public class SomeEventArgs : EventArgs
{
private readonly Foo f;
public SomeEventArgs(Foo f)
{
this.f = f;
}
public Foo Foo
{
get { return this.f; }
}
}
そのような動作を実装するための組み込みの一般的なクラスはありますか、それとも自分の動作をしなければなりませんか?
public class GenericEventArgs<T> : EventArgs
{
private readonly T value;
public GenericEventArgs(T v)
{
this.value = v;
}
public T Value
{
get { return this.value; }
}
}
ps私はaを書いた Microsoft Connectに関する提案
解決
あるとは思わない。
この質問を自問するのはあなただけではないようです。
見てください ここ
他のヒント
もしそこにあるなら は 1つは、確かに公表されていないことは確かです! (つまり、それはあなたが何かではありません 意味した 汎用のものに使用する Func<T>
。)私は今までも同じことを自分で考えました。それはまれな要件ではありません、IMO。
これの1つの欠点は、それがプロパティにとって意味のある名前を持っていないことです。もちろん、それは EventArgs
に相当します Tuple
. 。しかし、これとそれのためにいくつかの異なるユースケースがある場合 意思 実際、意味が何であるかを明らかにしてください、それのために行きます:)
下部のこのページでは、すべてのクラスがEventArgsクラスから継承されていることがわかります。http://msdn.microsoft.com/en-us/library/system.eventargs.aspx
最も適切なのはReturnEventargsです http://msdn.microsoft.com/en-us/library/ms615572.aspx ただし、このクラスはPresentionFramework.dllにあります。これは、WPFプロジェクトのみで言及されています。
だから私はあなた自身のものを作成することをお勧めします。