C产品在市场上有哪些独特优势?
- 内容介绍
- 文章标签
- 相关推荐
本文共计761个文字,预计阅读时间需要4分钟。
在.NET 4.0(包括4.0之前版本)中,要判断某个方法是否使用了自定义Attribute,可以通过调用MethodInfo的IsDefined方法进行确认。IsDefined方法检查MethodInfo的父类中是否存在指定的Attribute。
在.NET 4.0(当然也包括4.0以前的版本)下,用反射判断某个方法是否运用了自定义Attribute时,可以通过调用MethodInfo的IsDefined()方法进行确认。当然,IsDefined()方法事实上定义在MethodInfo的父类MemberInfo中,但它仅仅被定义为抽象方法,真正的实现是在MethodInfo的子类DynamicMethod中。调用方式如下所示:
复制代码 代码如下:methodInfo.IsDefined(typeof(MyAttribute), false)
然而,在实际开发中,我发现该方法有一个问题。如果获得MethodInfo的方式是通过加载程序集,然后利用反射方式获得的MethodInfo对象,即使该方法运用了自定义Attribute,返回的结果仍然是false。
本文共计761个文字,预计阅读时间需要4分钟。
在.NET 4.0(包括4.0之前版本)中,要判断某个方法是否使用了自定义Attribute,可以通过调用MethodInfo的IsDefined方法进行确认。IsDefined方法检查MethodInfo的父类中是否存在指定的Attribute。
在.NET 4.0(当然也包括4.0以前的版本)下,用反射判断某个方法是否运用了自定义Attribute时,可以通过调用MethodInfo的IsDefined()方法进行确认。当然,IsDefined()方法事实上定义在MethodInfo的父类MemberInfo中,但它仅仅被定义为抽象方法,真正的实现是在MethodInfo的子类DynamicMethod中。调用方式如下所示:
复制代码 代码如下:methodInfo.IsDefined(typeof(MyAttribute), false)
然而,在实际开发中,我发现该方法有一个问题。如果获得MethodInfo的方式是通过加载程序集,然后利用反射方式获得的MethodInfo对象,即使该方法运用了自定义Attribute,返回的结果仍然是false。

