我有一些允许参数的动作属性。这就是它的样子:
[DeleteActionCache(Action="GetTerms")]
public ActionResult AddTerm(string term){ }
public ActionResult GetTerms() {}
现在我想摆脱神奇的字符串" GetTerms"在我的属性中。所以我更喜欢这样的东西:(伪代码,不工作)
[DeleteActionCache(Action=this.GetTerms().GetType().Name)]
在我的属性类中有一个额外的属性,并且在我的那个类中进行" Method2String" -Conversions对我来说没问题,如果需要它来实现我想要的。
信息:我不正在寻找获取当前方法名称的方法( MethodBase.GetCurrentMethod )
答案 0 :(得分:7)
nameof
可以提供帮助:
[DeleteActionCache(Action=nameof(GetTerms))]
根据属性的使用,你可能最好在从成员读取属性的地方处理它,但在这种情况下似乎很难,因为动作和动作之间没有固定的关系。属性。