我想你不能但是有没有办法将方法作为属性的参数引用?即像下面的东西?我可以回退使用字符串,但更喜欢使用编译时间来验证类型是否正确。
[LinkToAction(Something)]
public void SomethingElse()
{
}
public static void Something()
{
}
public class LinkToActionAttribute : Attribute
{
public LinkToActionAttribute(MethodInfo info)
{
}
}
答案 0 :(得分:2)
抱歉,但你不能。只是这些可以作为属性的参数传递:
此问题与您的问题类似:Is it possible to have a delegate as attribute parameter?。在那里,有一个可用的解决方法。
答案 1 :(得分:0)
不是直接没有。 您可以将其作为字符串传递,然后使用反射生成MethodInfo,或者更好的是,使用LinkedFrom和LinkedTo属性标记方法。
虽然效率不高,但验证它也会有一些工作,这会让你想知道属性是否是正确的解决方案。