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

8
我希望应用一个接受委托作为参数的属性,但我找不到实现它的语法。
例如,要传递一个类,您必须使用 typeof:
    [SomeAttribute(typeof(SomeClass))]

什么是委托的语法(我正在尝试传递静态方法)?
    [SomeAttribute(??? SomeStaticMethod ???]
1个回答

8

元数据的容量不足以处理此内容。

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

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

自然地,您需要通过反射来调用它,但由于您已经查找了自定义属性,因此这可能不是一个很大的偏差。


2
那太糟糕了。我不需要在很多地方使用它,也不想破坏可重构性。所以我只需将该方法放置在一个类中,在方法上放置一个属性,并指向该类即可。 - Craig Gidney

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接