.NET 中的属性与流操作全解析
1. 属性的检索与使用
属性是将自定义数据嵌入程序集元数据的一种方式。可以将属性应用于类型、类型的任何成员、参数、返回值,甚至整个程序集或其模块之一。大多数属性没有内在行为,只是被动的信息容器,除非有代码请求查看,否则它们不会被实例化。
1.1 使用反射 API 检索属性
可以使用反射 API 来发现是否应用了特定类型的属性,并且该 API 还可以为你实例化属性。反射类型如 MethodInfo 、 Type 和 PropertyInfo 等都实现了 ICustomAttributeProvider 接口,示例代码如下:
public interface ICustomAttributeProvider
{
object[] GetCustomAttributes(bool inherit);
object[] GetCustomAttributes(Type attributeType, bool inherit);
bool IsDefined(Type attributeType, bool inherit);
}
-
IsDefined方法:仅告知特定属性类型是否存在,不会实例化该属性。 -
GetCustomAttributes重载方法:创建并返回属性。第一个重载返回应用于目标
超级会员免费看
订阅专栏 解锁全文

56

被折叠的 条评论
为什么被折叠?



