可以将[CustomAttribute]与匿名内联委托一起使用

本文关键字:一起 CustomAttribute | 更新日期: 2023-09-27 18:29:19

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

menu.handlers[MOUSECLICK] += (clickEvent)delegate(event e) { ... };

[属性]表示法似乎不可用。我是否仅限于越界声明的方法的属性,或者是否有一种方法可以对使用delegate(){…}声明的内联匿名方法执行这些属性?

(我碰巧喜欢内联风格:你可以很容易地访问范围内的变量,我认为这会产生一种更好、更紧凑的代码,你可以在注册事件处理程序的同一个地方看到它将做什么…)

可以将[CustomAttribute]与匿名内联委托一起使用

匿名方法是内联定义的,而不是的成员方法任何级别。此外,无法将自定义属性应用于匿名方法,匿名方法也不能定义泛型类型或者添加通用约束。

引用MSDN文章-使用匿名方法、迭代程序和分部类创建优雅的代码

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