可以将[CustomAttribute]与匿名内联代理一起使用吗?

时间:2012-03-29 13:29:48

标签: c# delegates custom-attributes

使用[attribute]表示法,我可以将自定义属性附加到类实例方法。但是,如果我编写像

这样的代码
menu.handlers[MOUSECLICK] += (clickEvent)delegate(event e) { ... };

[属性]符号似乎不可用。我是否仅限于在线外声明的方法的属性,或者有没有办法以某种方式为使用delegate(){...}声明的内联匿名方法执行这些操作?

(我碰巧喜欢内联样式:你可以轻松访问范围内的变量,我认为它可以提供更好,更紧凑的代码,你可以在那里看到事件处理程序将在同一个地方做什么你注册了......)

1 个答案:

答案 0 :(得分:2)

  

匿名方法是在线定义的,而不是作为成员方法定义的   任何课程。此外,无法应用自定义属性   匿名方法,匿名方法也不能定义泛型类型   或添加通用约束。

引自MSDN文章 - Create Elegant Code With Anonymous Methods, Iterators, And Partial Classes

简而言之NO!,您无法为匿名方法添加自定义属性