如何将方法作为属性参数?

时间:2009-10-24 15:13:48

标签: c# .net attributes

我想应用一个接受委托作为参数的属性,但我找不到这样做的语法。

例如,要传递一个类,您必须使用typeof:

    [SomeAttribute(typeof(SomeClass))]

委托的语法是什么(我试图传递静态方法)?

    [SomeAttribute(??? SomeStaticMethod ???]

1 个答案:

答案 0 :(得分:8)

这超出了元数据的能力。

您可以将该方法作为字符串传递,如果您只想调用静态方法,也可以指定该类。

[SomeAttribute(typeof(SomeClass), @"SomeStaticMethod")]

当然你必须通过反射来调用它,但是既然你正在查找自定义属性,那么这可能不是一个很大的偏差。

相关问题