System.Reflection.Emit.ModuleBuilder.DefineType C# (CSharp) Method

DefineType() public method

public DefineType ( string name ) : System.Reflection.Emit.TypeBuilder
name string
return System.Reflection.Emit.TypeBuilder
        public System.Reflection.Emit.TypeBuilder DefineType(string name) { throw null; }
        public System.Reflection.Emit.TypeBuilder DefineType(string name, System.Reflection.TypeAttributes attr) { throw null; }

Same methods

ModuleBuilder::DefineType ( string name, System attr ) : System.Reflection.Emit.TypeBuilder
ModuleBuilder::DefineType ( string name, System attr, System parent ) : System.Reflection.Emit.TypeBuilder
ModuleBuilder::DefineType ( string name, System attr, System parent, System packsize ) : System.Reflection.Emit.TypeBuilder
ModuleBuilder::DefineType ( string name, System attr, System parent, System packingSize, int typesize ) : System.Reflection.Emit.TypeBuilder
ModuleBuilder::DefineType ( string name, System attr, System parent, int typesize ) : System.Reflection.Emit.TypeBuilder

Usage Example

        private TypeBuilder EmitOwnerMappingType(IPropertyMappingProvider map, ModuleBuilder defineDynamicModule, string ownerTypeName)
        {
            var owner = defineDynamicModule.DefineType(
                    ownerTypeName,
                    TypeAttributes.Public | TypeAttributes.Interface | TypeAttributes.Abstract,
                    null,
                    new[] { typeof(IRdfListOwner) }).CreateType();
            var ownerMapType = typeof(ListOwnerMap<>).MakeGenericType(new[] { owner });

            var mapBuilderHelper = defineDynamicModule.DefineType(ownerTypeName + "Map", TypeAttributes.Public, ownerMapType);
            var propertyBuilder = mapBuilderHelper.DefineProperty("ListPredicate", PropertyAttributes.None, typeof(Uri), null);
            var getMethod = mapBuilderHelper.DefineMethod(
                "get_ListPredicate",
                MethodAttributes.FamANDAssem | MethodAttributes.Family | MethodAttributes.Virtual | MethodAttributes.HideBySig | MethodAttributes.SpecialName,
                typeof(Uri),
                Type.EmptyTypes);
            propertyBuilder.SetGetMethod(getMethod);

            var ilGenerator = getMethod.GetILGenerator();
            ilGenerator.Emit(OpCodes.Nop);
            ilGenerator.Emit(OpCodes.Ldstr, map.GetTerm(_ontologyProvider).ToString());
            ilGenerator.Emit(OpCodes.Newobj, typeof(Uri).GetConstructor(new[] { typeof(string) }));
            ilGenerator.Emit(OpCodes.Ret);

            return mapBuilderHelper;
        }
All Usage Examples Of System.Reflection.Emit.ModuleBuilder::DefineType