示例#1
0
        private Type TypeFactory()
        {
            var moduleBuilder = ModuleBuilderFactory.Instance;

            var className = string.Format("{0}.{1}", _typeBuilderStrategy.ClassKey(_originalType), _originalType.Name);

            var typeBuilder = moduleBuilder.DefineType(className, _typeAttributes, _parentType, _parentInterfaces.ToArray());

            var provider = new TypeBuilderProvider(typeBuilder);

            _typeBuilderVisitors.ForEach(v => v.Visit(provider));

            return(typeBuilder.CreateType());
        }
示例#2
0
        private Type TypeFactory()
        {
            var moduleBuilder = ModuleBuilderFactory.Instance;

            var className = string.Format("{0}.{1}", _typeBuilderStrategy.ClassKey(_originalType), _originalType.Name);

            var typeBuilder = moduleBuilder.DefineType(className, _typeAttributes, _parentType, _parentInterfaces.ToArray());

            var provider = new TypeBuilderProvider(typeBuilder);

            _typeBuilderVisitors.ForEach(v => v.Visit(provider));

            return typeBuilder.CreateType();
        }