X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2Fcorlib%2FSystem.Reflection%2FTypeDelegator.cs;h=8beffb64cd216b1469aabef6db6e0864f5a16685;hb=c1b43669320f96e4a2a482d993b7b36bb5e59496;hp=f663033fbfba4cfe791f43293c9fa74fd3970fb6;hpb=948dbf8d4581ac17f5420cc4f7dc375e3c502576;p=mono.git diff --git a/mcs/class/corlib/System.Reflection/TypeDelegator.cs b/mcs/class/corlib/System.Reflection/TypeDelegator.cs index f663033fbfb..8beffb64cd2 100644 --- a/mcs/class/corlib/System.Reflection/TypeDelegator.cs +++ b/mcs/class/corlib/System.Reflection/TypeDelegator.cs @@ -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,37 +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 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 } }