【发布时间】:2011-04-04 09:11:58
【问题描述】:
我刚刚使用Dustin Campbell's WeakEvent class 在项目中添加了一个弱事件实现。尽管盲目地使用我在 Internet™ 上找到的代码通常是一个坏主意,但它比我以前一起破解的实现要好得多。到目前为止它似乎运行良好,但为了理解代码,我遇到了以下内容:
public class WeakEventHandler<T, E> : IWeakEventHandler<E>
where T : class
where E : EventArgs
{
private delegate void OpenEventHandler(T @this, object sender, E e);
...
我习惯于仅使用 object sender 和 EventArgs args 参数声明委托类型,那么 T @this 部分实现了什么?显然它声明了 WeakEventHandler 的 T 泛型类型,但我以前从未见过 @this(谷歌搜索它是可以理解的)。
【问题讨论】: