C# Класс Com.Aote.ObjectTools.CustomType

自定义类型,包含一个基础类型,即对象自身的class类型,一些常用的内容都直接调用这个基础类型的方法 完成,只是在获取属性等方面才做自己的实现过程。
Наследование: System.Type
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
_customProperties List

Открытые методы

Метод Описание
AddProperty ( string name ) : void

增加一个属性,类型为string

AddProperty ( string name, Type propertyType ) : void

增加一个属性,类型为给的值

AddProperty ( string name, Type propertyType, List attributes ) : void

增加一个属性,除名称及类型外,还有声明,不太常用

CustomType ( Type delegatingType ) : System

用基础类型构造用户类型。

GetConstructors ( BindingFlags bindingAttr ) : System.Reflection.ConstructorInfo[]
GetCustomAttributes ( Type attributeType, bool inherit ) : object[]
GetCustomAttributes ( bool inherit ) : object[]
GetElementType ( ) : Type
GetEvent ( string name, BindingFlags bindingAttr ) : EventInfo
GetEvents ( BindingFlags bindingAttr ) : System.Reflection.EventInfo[]
GetField ( string name, BindingFlags bindingAttr ) : FieldInfo
GetFields ( BindingFlags bindingAttr ) : System.Reflection.FieldInfo[]
GetInterface ( string name, bool ignoreCase ) : Type
GetInterfaces ( ) : System.Type[]
GetMembers ( BindingFlags bindingAttr ) : System.Reflection.MemberInfo[]
GetMethods ( BindingFlags bindingAttr ) : System.Reflection.MethodInfo[]
GetNestedType ( string name, BindingFlags bindingAttr ) : Type
GetNestedTypes ( BindingFlags bindingAttr ) : System.Type[]
GetProperties ( BindingFlags bindingAttr ) : System.Reflection.PropertyInfo[]

获得所有属性信息,包括clr属性以及自定义属性。

InvokeMember ( string name, BindingFlags invokeAttr, Binder binder, object target, object args, ParameterModifier modifiers, System culture, string namedParameters ) : object
IsDefined ( Type attributeType, bool inherit ) : bool

Защищенные методы

Метод Описание
GetAttributeFlagsImpl ( ) : TypeAttributes
GetConstructorImpl ( BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type types, ParameterModifier modifiers ) : ConstructorInfo
GetMethodImpl ( string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type types, ParameterModifier modifiers ) : MethodInfo
GetPropertyImpl ( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type types, ParameterModifier modifiers ) : PropertyInfo

实际获取某个属性的属性信息的实现过程。

HasElementTypeImpl ( ) : bool
IsArrayImpl ( ) : bool
IsByRefImpl ( ) : bool
IsCOMObjectImpl ( ) : bool
IsPointerImpl ( ) : bool
IsPrimitiveImpl ( ) : bool

Приватные методы

Метод Описание
CheckIfNameExists ( string name ) : bool

检查属性是否存在,以避免重复添加属性。如果属性已经存在,将抛出属性名存在异常。

Описание методов

AddProperty() публичный Метод

增加一个属性,类型为string
public AddProperty ( string name ) : void
name string 属性名
Результат void

AddProperty() публичный Метод

增加一个属性,类型为给的值
public AddProperty ( string name, Type propertyType ) : void
name string 属性名
propertyType System.Type 属性类型
Результат void

AddProperty() публичный Метод

增加一个属性,除名称及类型外,还有声明,不太常用
public AddProperty ( string name, Type propertyType, List attributes ) : void
name string 属性名
propertyType System.Type 属性类型
attributes List 声明
Результат void

CustomType() публичный Метод

用基础类型构造用户类型。
public CustomType ( Type delegatingType ) : System
delegatingType System.Type 基础类型
Результат System

GetAttributeFlagsImpl() защищенный Метод

protected GetAttributeFlagsImpl ( ) : TypeAttributes
Результат TypeAttributes

GetConstructorImpl() защищенный Метод

protected GetConstructorImpl ( BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type types, ParameterModifier modifiers ) : ConstructorInfo
bindingAttr BindingFlags
binder System.Reflection.Binder
callConvention CallingConventions
types System.Type
modifiers System.Reflection.ParameterModifier
Результат System.Reflection.ConstructorInfo

GetConstructors() публичный Метод

public GetConstructors ( BindingFlags bindingAttr ) : System.Reflection.ConstructorInfo[]
bindingAttr BindingFlags
Результат System.Reflection.ConstructorInfo[]

GetCustomAttributes() публичный Метод

public GetCustomAttributes ( Type attributeType, bool inherit ) : object[]
attributeType System.Type
inherit bool
Результат object[]

GetCustomAttributes() публичный Метод

public GetCustomAttributes ( bool inherit ) : object[]
inherit bool
Результат object[]

GetElementType() публичный Метод

public GetElementType ( ) : Type
Результат System.Type

GetEvent() публичный Метод

public GetEvent ( string name, BindingFlags bindingAttr ) : EventInfo
name string
bindingAttr BindingFlags
Результат System.Reflection.EventInfo

GetEvents() публичный Метод

public GetEvents ( BindingFlags bindingAttr ) : System.Reflection.EventInfo[]
bindingAttr BindingFlags
Результат System.Reflection.EventInfo[]

GetField() публичный Метод

public GetField ( string name, BindingFlags bindingAttr ) : FieldInfo
name string
bindingAttr BindingFlags
Результат System.Reflection.FieldInfo

GetFields() публичный Метод

public GetFields ( BindingFlags bindingAttr ) : System.Reflection.FieldInfo[]
bindingAttr BindingFlags
Результат System.Reflection.FieldInfo[]

GetInterface() публичный Метод

public GetInterface ( string name, bool ignoreCase ) : Type
name string
ignoreCase bool
Результат System.Type

GetInterfaces() публичный Метод

public GetInterfaces ( ) : System.Type[]
Результат System.Type[]

GetMembers() публичный Метод

public GetMembers ( BindingFlags bindingAttr ) : System.Reflection.MemberInfo[]
bindingAttr BindingFlags
Результат System.Reflection.MemberInfo[]

GetMethodImpl() защищенный Метод

protected GetMethodImpl ( string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type types, ParameterModifier modifiers ) : MethodInfo
name string
bindingAttr BindingFlags
binder System.Reflection.Binder
callConvention CallingConventions
types System.Type
modifiers System.Reflection.ParameterModifier
Результат System.Reflection.MethodInfo

GetMethods() публичный Метод

public GetMethods ( BindingFlags bindingAttr ) : System.Reflection.MethodInfo[]
bindingAttr BindingFlags
Результат System.Reflection.MethodInfo[]

GetNestedType() публичный Метод

public GetNestedType ( string name, BindingFlags bindingAttr ) : Type
name string
bindingAttr BindingFlags
Результат System.Type

GetNestedTypes() публичный Метод

public GetNestedTypes ( BindingFlags bindingAttr ) : System.Type[]
bindingAttr BindingFlags
Результат System.Type[]

GetProperties() публичный Метод

获得所有属性信息,包括clr属性以及自定义属性。
public GetProperties ( BindingFlags bindingAttr ) : System.Reflection.PropertyInfo[]
bindingAttr BindingFlags 未知
Результат System.Reflection.PropertyInfo[]

GetPropertyImpl() защищенный Метод

实际获取某个属性的属性信息的实现过程。
protected GetPropertyImpl ( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type types, ParameterModifier modifiers ) : PropertyInfo
name string 属性名
bindingAttr BindingFlags 未知
binder System.Reflection.Binder 未知
returnType System.Type 未知
types System.Type 未知
modifiers System.Reflection.ParameterModifier 未知
Результат System.Reflection.PropertyInfo

HasElementTypeImpl() защищенный Метод

protected HasElementTypeImpl ( ) : bool
Результат bool

InvokeMember() публичный Метод

public InvokeMember ( string name, BindingFlags invokeAttr, Binder binder, object target, object args, ParameterModifier modifiers, System culture, string namedParameters ) : object
name string
invokeAttr BindingFlags
binder System.Reflection.Binder
target object
args object
modifiers System.Reflection.ParameterModifier
culture System
namedParameters string
Результат object

IsArrayImpl() защищенный Метод

protected IsArrayImpl ( ) : bool
Результат bool

IsByRefImpl() защищенный Метод

protected IsByRefImpl ( ) : bool
Результат bool

IsCOMObjectImpl() защищенный Метод

protected IsCOMObjectImpl ( ) : bool
Результат bool

IsDefined() публичный Метод

public IsDefined ( Type attributeType, bool inherit ) : bool
attributeType System.Type
inherit bool
Результат bool

IsPointerImpl() защищенный Метод

protected IsPointerImpl ( ) : bool
Результат bool

IsPrimitiveImpl() защищенный Метод

protected IsPrimitiveImpl ( ) : bool
Результат bool

Описание свойств

_customProperties публичное свойство

保存类型的属性信息,属性信息实现了PropertyInfo,可以当做正常的PropertyInfo使用。
public List _customProperties
Результат List