public override Type MakeGenericType(params Type[] typeArguments) { bool partial = false; Type[] args = UnderlyingSystemType.GetGenericArguments(); int j = 0; for (int i = 0; i < args.Length; i++) { if (args[i].IsGenericParameter) { if (j >= typeArguments.Length) { partial = true; } else { args[i] = typeArguments[j++]; } } } Type typeDef = GetGenericTypeDefinition(); if (partial) { return(new PartialGenericType(typeDef, args)); } else { return(typeDef.MakeGenericType(args)); } }
public override int GetHashCode() { int hashCode = UnderlyingSystemType.GetHashCode(); unchecked { foreach (CustomTypeModifier mod in Modifiers) { hashCode *= 17; if (mod != null) { hashCode += mod.GetHashCode(); } } } return(hashCode); }
public override bool Equals(Type o) { if (!UnderlyingSystemType.Equals(o)) { return(false); } ModifiedType modt = o as ModifiedType; if (modt == null) { return(Modifiers.Count == 0); } foreach (CustomTypeModifier modifier in Modifiers) { if (!modt.Modifiers.HasModifier(modifier)) { return(false); } } return(true); }
public override PropertyInfo[] GetProperties(BindingFlags bindingAttr) { return(UnderlyingSystemType.GetProperties(bindingAttr)); }
protected override PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers) { //TODO:Full implementation needed return(UnderlyingSystemType.GetProperty(name)); }
public override Type GetElementType() { return(UnderlyingSystemType.GetElementType()); }
public override Type GetNestedType(string name, BindingFlags bindingAttr) { return(UnderlyingSystemType.GetNestedType(name, bindingAttr)); }
public override object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters) { return(UnderlyingSystemType.InvokeMember(name, invokeAttr, binder, target, args, modifiers, culture, namedParameters)); }
public override FieldInfo[] GetFields(BindingFlags bindingAttr) { return(UnderlyingSystemType.GetFields(bindingAttr)); }
public override Type[] GetInterfaces() { return(UnderlyingSystemType.GetInterfaces()); }
public override Type GetInterface(string name, bool ignoreCase) { return(UnderlyingSystemType.GetInterface(name, ignoreCase)); }
public override ConstructorInfo[] GetConstructors(BindingFlags bindingAttr) { return(UnderlyingSystemType.GetConstructors(bindingAttr)); }
public override bool IsDefined(Type attributeType, bool inherit) { return(UnderlyingSystemType.IsDefined(attributeType, inherit)); }
public override string ToString() { return(UnderlyingSystemType.ToString()); }
protected override MethodInfo GetMethodImpl(string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers) { return(UnderlyingSystemType.GetMethod(name, bindingAttr, binder, callConvention, types, modifiers)); }
public override FieldInfo GetField(string name, BindingFlags bindingAttr) { return(UnderlyingSystemType.GetField(name, bindingAttr)); }
public override EventInfo GetEvent(string name, BindingFlags bindingAttr) { return(UnderlyingSystemType.GetEvent(name, bindingAttr)); }
public override MemberInfo[] GetMembers(BindingFlags bindingAttr) { return(UnderlyingSystemType.GetMembers(bindingAttr)); }
public override EventInfo[] GetEvents(BindingFlags bindingAttr) { return(UnderlyingSystemType.GetEvents(bindingAttr)); }
public override object[] GetCustomAttributes(Type attributeType, bool inherit) { return(UnderlyingSystemType.GetCustomAttributes(attributeType, inherit)); }
public override Type[] GetNestedTypes(BindingFlags bindingAttr) { return(UnderlyingSystemType.GetNestedTypes(bindingAttr)); }