public override System.Type ResolveType(ITypeContext provider) { if (Type == null) { if (GenericPrameters == null) { Type = provider.GetType(Name); } else { Type = provider.GetType(string.Concat(Name, '`', GenericPrameters.Count)); if (Type == null) { Type = TypeProvider.AnyType; } Type = Type.MakeGenericType(GenericPrameters.Map(p => p.ResolveType(provider))); } } return(Type); }