TypeDelegator | serializable | System.Reflection (mscorlib.dll) | class | 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 } Hierarchy System.Object MemberInfo(ICustomAttributeProvider) System.Type(IReflect) TypeDelegator |