public static Type Get(Type sourceType, IEnumerable <string> fields) { var key = TypeBuilderEnvironment.CreateTypeKey(sourceType, fields); if (!Types.ContainsKey(key)) { Types[key] = Create(sourceType, fields); } return(Types[key]); }
private static TypeBuilder CreateTypeBuilder(Type sourceType) { var typeName = TypeBuilderEnvironment.CreateUniqueTypeName(sourceType); return(TypeBuilderEnvironment.CreateTypeBuilder(typeName)); }