private static Type CreateDerivedType(ModuleBuilder moduleBuilder, ExtendedTable extendedTable, ExtendedType extendedType) { // TODO: fix string randomString = Guid.NewGuid().ToString().Split(new char[] { '-' })[0]; var typeBuilder = moduleBuilder.DefineType(extendedType.BaseType.Name + randomString, TypeAttributes.Class | TypeAttributes.Public, extendedType.BaseType); foreach (var extendedProperty in extendedTable.ExtendedProperties) { AddProperty(typeBuilder, extendedType.BaseType, extendedProperty.PropertyName, extendedProperty.PropertyType); } return typeBuilder.CreateType(); }
private static Type CreateDerivedType(ModuleBuilder moduleBuilder, ExtendedTable extendedTable, ExtendedType extendedType) { // TODO: fix string randomString = Guid.NewGuid().ToString().Split(new char[] { '-' })[0]; var typeBuilder = moduleBuilder.DefineType(extendedType.BaseType.Name + randomString, TypeAttributes.Class | TypeAttributes.Public, extendedType.BaseType); foreach (var extendedProperty in extendedTable.ExtendedProperties) { AddProperty(typeBuilder, extendedType.BaseType, extendedProperty.PropertyName, extendedProperty.PropertyType); } return(typeBuilder.CreateType()); }