我有一个通用EventArgs
类定义为:
public class GenericEventArgs<T> : EventArgs
{
public GenericEventArgs(T value)
{
Data = value;
}
public T Data { get; private set; }
}
如果我将一个event
of 类型添加EventHandler<T>
到我的UserControl
中,它只会出现在设计器中,如果我继承我的泛型EventArgs
类型。
// this event will not appear in Designer
public event EventHandler<GenericEventArgs<String>> Event1;
// this event appears in Designer as expected
public event EventHandler<StringEventArgs> Event2;
其中StringEventArgs
定义为:
public class StringEventArgs : GenericEventArgs<String>
{
public StringEventArgs(String value)
: base(value)
{
}
}
我尝试将[Browsable(true)]
属性添加到事件中,并将EventArgs<T>
类标记为Serializable
没有成功。
什么可能导致这种情况,是否有可用的解决方法(子类化除外)?
我正在使用 VS2010 和 .NET 4.0。