//----------------------------------------------------------------------------------------------------------------------------------------------------- public ImplementationClassWriter <TBase> Constructor(Action <ConstructorWriter> body) { var constructor = DefineConstructor(ConstructorMethodFactory.InstanceConstructor(OwnerClass, Type.EmptyTypes)); var writer = new ConstructorWriter(constructor, body); return(this); }
//----------------------------------------------------------------------------------------------------------------------------------------------------- public ImplementationClassWriter <TBase> Constructor <TA1, TA2>(Action <ConstructorWriter, Argument <TA1>, Argument <TA2> > body) { var constructor = DefineConstructor(ConstructorMethodFactory.InstanceConstructor(OwnerClass, new[] { typeof(TA1), typeof(TA2) })); var writer = new ConstructorWriter(constructor, w => body(w, w.Arg1 <TA1>(), w.Arg2 <TA2>())); return(this); }
//----------------------------------------------------------------------------------------------------------------------------------------------------- public ImplementationClassWriter <TBase> Constructor <TA1, TA2, TA3, TA4, TA5, TA6, TA7, TA8>(Action <ConstructorWriter, Argument <TA1>, Argument <TA2>, Argument <TA3>, Argument <TA4>, Argument <TA5>, Argument <TA6>, Argument <TA7>, Argument <TA8> > body) { var constructor = DefineConstructor(ConstructorMethodFactory.InstanceConstructor(OwnerClass, new[] { typeof(TA1), typeof(TA2), typeof(TA3), typeof(TA4), typeof(TA5), typeof(TA6), typeof(TA7), typeof(TA8) })); var writer = new ConstructorWriter(constructor, w => body(w, w.Arg1 <TA1>(), w.Arg2 <TA2>(), w.Arg3 <TA3>(), w.Arg4 <TA4>(), w.Arg5 <TA5>(), w.Arg6 <TA6>(), w.Arg7 <TA7>(), w.Arg8 <TA8>())); return(this); }
//----------------------------------------------------------------------------------------------------------------------------------------------------- public ImplementationClassWriter <TBase> StaticConstructor(Action <ConstructorWriter> body) { var constructor = DefineConstructor(ConstructorMethodFactory.StaticConstructor(OwnerClass)); var writer = new ConstructorWriter(constructor, body); return(this); }
public ImplementationClassWriter <TBase> Constructor <TA1>(Func <MethodMember, AttributeWriter> attributes, Action <ConstructorWriter, Argument <TA1> > body) { var constructor = DefineConstructor(ConstructorMethodFactory.InstanceConstructor(OwnerClass, new[] { typeof(TA1) })); var writer = new ConstructorWriter(constructor, w => body(w, w.Arg1 <TA1>())); writer.AddAttributes(attributes); return(this); }
public ImplementationClassWriter <TBase> Constructor(Func <MethodMember, AttributeWriter> attributes, Action <ConstructorWriter> body) { var constructor = DefineConstructor(ConstructorMethodFactory.InstanceConstructor(OwnerClass, Type.EmptyTypes)); var writer = new ConstructorWriter(constructor, body); writer.AddAttributes(attributes); return(this); }
public ImplementationClassWriter <TBase> Constructor <TA1, TA2, TA3, TA4, TA5, TA6>(Func <MethodMember, AttributeWriter> attributes, Action <ConstructorWriter, Argument <TA1>, Argument <TA2>, Argument <TA3>, Argument <TA4>, Argument <TA5>, Argument <TA6> > body) { var constructor = DefineConstructor(ConstructorMethodFactory.InstanceConstructor(OwnerClass, new[] { typeof(TA1), typeof(TA2), typeof(TA3), typeof(TA4), typeof(TA5), typeof(TA6) })); var writer = new ConstructorWriter(constructor, w => body(w, w.Arg1 <TA1>(), w.Arg2 <TA2>(), w.Arg3 <TA3>(), w.Arg4 <TA4>(), w.Arg5 <TA5>(), w.Arg6 <TA6>())); writer.AddAttributes(attributes); return(this); }