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()); }
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(); }