Because System.Type is an abstract
class, TypeDelegator
simply wraps System.Type methods and provides the
necessary implementations.
public class TypeDelegator : Type {
// Public Constructors
public TypeDelegator(Type delegatingType);
// Protected Constructors
protected TypeDelegator( );
// Protected Instance Fields
protected Type typeImpl;
// Public Instance Properties
public override Assembly Assembly{get; }
// overrides Type
public override string AssemblyQualifiedName{get; }
// overrides Type
public override Type BaseType{get; }
// overrides Type
public override string FullName{get; }
// overrides Type
public override Guid GUID{get; }
// overrides Type
public override Module Module{get; }
// overrides Type
public override string Name{get; }
// overrides MemberInfo
public override string Namespace{get; }
// overrides Type
public override RuntimeTypeHandle TypeHandle{get; }
// overrides Type
public override Type UnderlyingSystemType{get; }
// overrides Type
// Public Instance Methods
public override ConstructorInfo[ ] GetConstructors(BindingFlags bindingAttr)
// overrides Type
public override object[ ] GetCustomAttributes(bool inherit)
// overrides MemberInfo
public override object[ ] GetCustomAttributes(Type attributeType, bool inherit)
// overrides MemberInfo
public override Type GetElementType( );
// overrides Type
public override EventInfo GetEvent(string name, BindingFlags bindingAttr);
// overrides Type
public override EventInfo[ ] GetEvents( );
// overrides Type
public override EventInfo[ ] GetEvents(BindingFlags bindingAttr);
// overrides Type
public override FieldInfo GetField(string name, BindingFlags bindingAttr);
// overrides Type
public override FieldInfo[ ] GetFields(BindingFlags bindingAttr)
// overrides Type
public override Type GetInterface(string name, bool ignoreCase);
// overrides Type
public override InterfaceMapping GetInterfaceMap(Type interfaceType)
// overrides Type
public override Type[ ] GetInterfaces( );
// overrides Type
public override MemberInfo[ ] GetMember(string name, MemberTypes type,
BindingFlags bindingAttr)
// overrides Type
public override MemberInfo[ ] GetMembers(BindingFlags bindingAttr)
// overrides Type
public override MethodInfo[ ] GetMethods(BindingFlags bindingAttr)
// overrides Type
public override Type GetNestedType(string name, BindingFlags bindingAttr);
// overrides Type
public override Type[ ] GetNestedTypes(BindingFlags bindingAttr)
// overrides Type
public override PropertyInfo[ ] GetProperties(BindingFlags bindingAttr)
// overrides Type
public override object InvokeMember(string name, BindingFlags invokeAttr,
Binder binder, object target, object[ ] args, ParameterModifier[ ] modifiers,
System.Globalization.CultureInfo culture, string[ ] namedParameters)
// overrides Type
public override bool IsDefined(Type attributeType, bool inherit)
// overrides MemberInfo
// Protected Instance Methods
protected override TypeAttributes GetAttributeFlagsImpl( );
// overrides Type
protected override ConstructorInfo GetConstructorImpl(BindingFlags bindingAttr, Binder binder,
CallingConventions callConvention, Type[ ] types, ParameterModifier[ ] modifiers)
// overrides Type
protected override MethodInfo GetMethodImpl(string name, BindingFlags bindingAttr,
Binder binder, CallingConventions callConvention, Type[ ] types,
ParameterModifier[ ] modifiers)
// overrides Type
protected override PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr,
Binder binder,Type returnType, Type[ ] types,
ParameterModifier[ ] modifiers)
// overrides Type
protected override bool HasElementTypeImpl( );
// overrides Type
protected override bool IsArrayImpl( );
// overrides Type
protected override bool IsByRefImpl( );
// overrides Type
protected override bool IsCOMObjectImpl( );
// overrides Type
protected override bool IsPointerImpl( );
// overrides Type
protected override bool IsPrimitiveImpl( );
// overrides Type
protected override bool IsValueTypeImpl( );
// overrides Type
}