public NestedTypeGenerationContext(TypeGenerator generator, Func<BuilderBundle> bundle, Action<BaseTypeGenerationContext> nestedClosure, IList<ITypeGenerationAction> actions) : base(generator) { BaseType = typeof(object); TypeGenerationActions = actions; nestedType = new DefineNestedTypeAction(bundle(), () => TypeName, () => BaseType); TypeGenerationActions.Add(nestedType); Builder = () => nestedType.LocalBuilder; nestedClosure(this); if(!ConstructorAdded) AddDefaultConstructor(); }
public NestedTypeGenerationContext(TypeGenerator generator, Func <BuilderBundle> bundle, Action <BaseTypeGenerationContext> nestedClosure, IList <ITypeGenerationAction> actions) : base(generator) { BaseType = typeof(object); TypeGenerationActions = actions; nestedType = new DefineNestedTypeAction(bundle(), () => TypeName, () => BaseType); TypeGenerationActions.Add(nestedType); Builder = () => nestedType.LocalBuilder; nestedClosure(this); if (!ConstructorAdded) { AddDefaultConstructor(); } }
public TypeGenerationContext(TypeGenerator generator, Func <BuilderBundle> bundle, Action <TypeGenerationContext> nestedClosure) : base(generator) { BaseType = typeof(object); TypeGenerationActions = new List <ITypeGenerationAction>(); var defineTypeAction = new DefineTypeAction(bundle(), () => TypeName, () => BaseType); TypeGenerationActions.Add(defineTypeAction); Builder = bundle; nestedClosure(this); if (!ConstructorAdded) { AddDefaultConstructor(); } }
public BaseTypeGenerationContext(TypeGenerator generator) { typeGenerator = generator; TypesToComplete = new List <Func <BuilderBundle> >(); }