[bcl] Remove NET_4_5 defines from class libs.
[mono.git] / mcs / class / corlib / System.Reflection / TypeDelegator.cs
index a2d644bbfa2f11cb2392cd7c034081a3803c1dd1..8beffb64cd216b1469aabef6db6e0864f5a16685 100644 (file)
@@ -34,11 +34,11 @@ using System.Runtime.InteropServices;
 
 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 () {
@@ -103,9 +103,7 @@ namespace System.Reflection {
                        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);
@@ -156,9 +154,7 @@ namespace System.Reflection {
                        return typeImpl.GetInterface (name, ignoreCase);
                }
 
-#if NET_2_0
                [ComVisible (true)]
-#endif
                public override InterfaceMapping GetInterfaceMap( Type interfaceType)
                {
                        return typeImpl.GetInterfaceMap (interfaceType);
@@ -254,48 +250,23 @@ namespace System.Reflection {
                        return typeImpl.IsValueType;
                }
 
-#if NET_2_0 || BOOTSTRAP_NET_2_0
-               public override Type[] GetGenericArguments ()
-               {
-                       throw new NotImplementedException ();
-               }
-
-               public override bool HasGenericArguments {
-                       get {
-                               throw new NotImplementedException ();
-                       }
-               }
-
-               public override bool ContainsGenericParameters {
-                       get {
-                               throw new NotImplementedException ();
-                       }
-               }
-
-               public override bool IsGenericParameter {
+               public override int MetadataToken {
                        get {
-                               throw new NotImplementedException ();
+                               return typeImpl.MetadataToken;
                        }
                }
 
-               public override int GenericParameterPosition {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+               public override bool IsConstructedGenericType {
+                       get { return typeImpl.IsConstructedGenericType; }
                }
 
-               public override MethodInfo DeclaringMethod {
-                       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
 
        }
 }