using System;
using System.Reflection;
using System.Globalization;
+using System.Runtime.InteropServices;
namespace System.Reflection {
+ [ComVisible (true)]
[Serializable]
- public class TypeDelegator : Type {
+ public class TypeDelegator :
+ TypeInfo, IReflectableType
+ {
protected Type typeImpl;
protected TypeDelegator () {
return typeImpl.GetConstructor (bindingAttr, binder, callConvention, types, modifiers);
}
+ [ComVisible (true)]
public override ConstructorInfo[] GetConstructors( BindingFlags bindingAttr)
{
return typeImpl.GetConstructors (bindingAttr);
return typeImpl.GetInterface (name, ignoreCase);
}
+ [ComVisible (true)]
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 HasGenericArguments {
+ public override int MetadataToken {
get {
- throw new NotImplementedException ();
+ return typeImpl.MetadataToken;
}
}
- public override bool ContainsGenericParameters {
- get {
- throw new NotImplementedException ();
- }
+ public override bool IsConstructedGenericType {
+ get { return typeImpl.IsConstructedGenericType; }
}
- public override bool IsGenericParameter {
- get {
- throw new NotImplementedException ();
- }
- }
-
- public override int GenericParameterPosition {
- get {
- throw new NotImplementedException ();
- }
- }
+ public override bool IsAssignableFrom (TypeInfo typeInfo)
+ {
+ if (typeInfo == null)
+ throw new ArgumentNullException ("typeInfo");
- public override MethodInfo DeclaringMethod {
- get {
- throw new NotImplementedException ();
- }
+ return IsAssignableFrom (typeInfo.AsType ());
}
-#endif
}
}