namespace System.Reflection {
-#if NET_2_0
[ComVisible (true)]
-#endif
[Serializable]
- public class TypeDelegator : Type {
+ public class TypeDelegator :
+ TypeInfo, IReflectableType
+ {
protected Type typeImpl;
protected TypeDelegator () {
return typeImpl.GetConstructor (bindingAttr, binder, callConvention, types, modifiers);
}
-#if NET_2_0
[ComVisible (true)]
-#endif
public override ConstructorInfo[] GetConstructors( BindingFlags bindingAttr)
{
return typeImpl.GetConstructors (bindingAttr);
return typeImpl.GetInterface (name, ignoreCase);
}
-#if NET_2_0
[ComVisible (true)]
-#endif
public override InterfaceMapping GetInterfaceMap( Type interfaceType)
{
return typeImpl.GetInterfaceMap (interfaceType);
return typeImpl.IsValueType;
}
-#if NET_2_0 || BOOTSTRAP_NET_2_0
- public override Type[] GetGenericArguments ()
- {
- throw new NotImplementedException ();
- }
-
-
- public override bool ContainsGenericParameters {
+ public override int MetadataToken {
get {
- throw new NotImplementedException ();
+ return typeImpl.MetadataToken;
}
}
- public override bool IsGenericParameter {
- get {
- throw new NotImplementedException ();
- }
+ public override bool IsConstructedGenericType {
+ get { return typeImpl.IsConstructedGenericType; }
}
- public override int GenericParameterPosition {
- get {
- throw new NotImplementedException ();
- }
- }
+ public override bool IsAssignableFrom (TypeInfo typeInfo)
+ {
+ if (typeInfo == null)
+ throw new ArgumentNullException ("typeInfo");
- public override int MetadataToken {
- get {
- return typeImpl.MetadataToken;
- }
+ return IsAssignableFrom (typeInfo.AsType ());
}
-#endif
}
}