从其目标中访问.Net属性的属性(例如方法)

时间:2011-05-25 17:06:43

标签: .net aop

是否可以从应用它的项目中访问属性的属性(例如方法)?例如,使用下面的代码,我可以使用“搜索”方法访问“RequiresConnection”属性的属性吗?

    [RequiresConnection]
    public SearchResult Search(SearchInfo searchInfo)
    {
    }

3 个答案:

答案 0 :(得分:3)

当然

class TheClass {
  [RequiresConnection]
  public SearchResult Search(SearchInfo searchInfo) {
    MethodInfo methodInfo = typeof(TheClass).GetMethod("Search");
    RequiresConnection attrib = (RequiresConnection).methodInfo.GetCustomAttributes(
      typeof(RequiresConnection),
      false)[0];

答案 1 :(得分:0)

您可以使用Reflection。该示例并非专门执行您想要的操作,但您可以通过在方法中调用GetCustomAttributes来进行调整。

答案 2 :(得分:0)

不确定。这将是

var attributes = StackTrace.GetFrame(0).GetMethod().GetCustomAttributes();