سؤال

لدي عدد من فصول 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; }
    }    
}

ملاحظة: لقد كتبت أ اقتراح على Microsoft Connect

هل كانت مفيدة؟

المحلول

لا أعتقد أن هناك.
يبدو أنك لست الشخص الوحيد الذي يسأل نفسه هذا السؤال.
إلق نظرة هنا

نصائح أخرى

إن كان هناك هو واحد ، بالتأكيد لم يتم نشره بشكل جيد! (أي ليس شيئًا أنت عنى لاستخدام الأشياء للأغراض العامة ، مثل Func<T>.) لقد فكرت في نفس الشيء بنفسي من قبل الآن. إنه ليس مطلبًا نادرًا ، IMO.

أحد الجوانب السلبية من هذا هو أنه لا يحتوي على اسم مفيد للعقار ، بالطبع - إنه مثل EventArgs ما يعادل Tuple. ولكن إذا كان لديك العديد من حالات الاستخدام المختلفة لهذا و IT إرادة في الواقع كن واضحًا ما هو المعنى ، اذهب إليه :)

في هذه الصفحة في الأسفل ، يمكنك رؤية جميع الفئات موروثة من فئة EventArgs:http://msdn.microsoft.com/en-us/library/system.eventargs.aspx

الأنسب هو returneventargs http://msdn.microsoft.com/en-us/library/ms615572.aspx لكن هذا الفصل يقع في عرض التقديمي framework.dll ، الذي تتم الإشارة إليه فقط من قبل مشاريع WPF.

لذلك أوصي بإنشاء واحد الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top