Question

J'ai un certain nombre de classes de EventArgs avec un seul champ et une propriété appropriée pour le lire:

public class SomeEventArgs : EventArgs
{
    private readonly Foo f;
    public SomeEventArgs(Foo f)
    {
        this.f = f;
    }
    public Foo Foo
    {
        get { return this.f; }
    }    
}

Y at-il intégré, classe générique pour mettre en œuvre un tel comportement ou je dois rouler ma propre?

public class GenericEventArgs<T> : EventArgs
{
    private readonly T value;
    public GenericEventArgs(T v)
    {
        this.value = v;
    }
    public T Value
    {
        get { return this.value; }
    }    
}

P.S. J'ai écrit un suggestion sur Microsoft Connect

Était-ce utile?

La solution

Je ne pense pas qu'il y ait.
On dirait que vous n'êtes pas le seul à se poser cette question.
Jetez un oeil

Autres conseils

Si un, il est certainement pas bien médiatisée! (À savoir ce n'est pas quelque chose que vous signifie à utiliser pour des choses à usage général, comme Func<T>.) J'y ai pensé la même chose moi-même avant maintenant. Ce n'est pas une exigence rare, l'OMI.

Un inconvénient est qu'il ne dispose pas d'un nom significatif pour la propriété, bien sûr - c'est comme un équivalent EventArgs de Tuple. Mais si vous avez plusieurs différents cas d'utilisation pour cela et il en fait être évident que le sens est, allez-y:)

Sur cette page en bas, vous pouvez voir toutes les classes sont héritées de la classe EventArgs: http://msdn.microsoft.com/en-us/library/ system.eventargs.aspx

Le plus approprié est ReturnEventArgs http://msdn.microsoft.com/ fr-fr / bibliothèque / ms615572.aspx mais cette classe est situé dans PresentationFramework.dll, qui est référencé que par des projets WPF.

Je recommande donc de créer votre propre un.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top