猿问

C#中typedef的等价物

C#中typedef的等价物

在C#中是否有typedef等价物,或者某种类似的行为?我做了一些谷歌搜索,但我看到的每个地方似乎都是负面的。目前我的情况类似于以下情况:

class GenericClass<T> {
    public event EventHandler<EventData> MyEvent;
    public class EventData : EventArgs { /* snip */ }
    // ... snip}

现在,当试图为该事件实现处理程序时,并不需要火箭科学家弄清楚这会很快导致大量输入(为可怕的双关语道歉)。它最终会像这样:

GenericClass<int> gcInt = new GenericClass<int>;gcInt.MyEvent += new EventHandler<GenericClass<int>.EventData>(gcInt_MyEvent);// ...private void gcInt_MyEvent(object sender, GenericClass<int>.EventData e){
    throw new NotImplementedException();}

除了在我的情况下,我已经使用了复杂类型,而不仅仅是一个int。如果有可能简化这一点,那就太好了......

编辑:即。也许键入定义EventHandler而不是需要重新定义它以获得类似的行为。



泛舟湖上清波郎朗
浏览 851回答 3
3回答

炎炎设计

我使用的有时候是从类继承并创建它的构造函数。例如public&nbsp;class&nbsp;FooList&nbsp;:&nbsp;List<Foo>&nbsp;{&nbsp;...&nbsp;}不是最好的解决方案(除非你的程序集被其他人使用),但它确实有效。
随时随地看视频慕课网APP
我要回答