Pregunta

Tengo un número de clases EventArgs con sólo un campo y una propiedad adecuada para leerlo:

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

¿Hay alguna clase genérica incorporada, para poner en práctica este tipo de comportamiento o tengo que rodar mi propia?

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. Escribí un en Microsoft Connect

¿Fue útil?

Solución

No creo que haya.
Parece que no son el único que preguntarse a sí mismo esta pregunta.
Echar un vistazo aquí

Otros consejos

Si hay es una, ciertamente no está bien publicitadas! (Es decir que no es algo con lo que significa para el uso de material de uso general, como Func<T>.) He pensado en lo mismo que a mí mismo antes de ahora. No es un requisito rara, la OMI.

Una desventaja de esto es que no tiene un nombre significativo para la propiedad, por supuesto - es como un equivalente de EventArgs Tuple. Pero si usted tiene varios casos de uso diferentes para esto y en realidad ser obvio lo que el significado es, ir a por ello:)

En esta página, en el fondo se puede ver todas las clases se heredan de la clase EventArgs: http://msdn.microsoft.com/en-us/library/ system.eventargs.aspx

El más adecuado es ReturnEventArgs http://msdn.microsoft.com/ en-us / library / ms615572.aspx pero esta clase se encuentra en PresentationFramework.dll, que sólo se hace referencia mediante proyectos de WPF.

Así que recomiendo para crear su propio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top