public Func <string[], Table[], CultureInfo, T> GetFunc <T>()
        {
            var func = this.constructorFunc;

            if (!(func is null))
            {
                return((Func <string[], Table[], CultureInfo, T>)func);
            }

            this.constructorFunc = func = this.IsDefaultConstructor ?
                                          CreatorCompiler.CompilePropertyInjection <T>(this.Constructor, this.Properties) :
                                          CreatorCompiler.CompileConstructorInjection <T>(this.Constructor, this.Parameters);

            return((Func <string[], Table[], CultureInfo, T>)func);
        }
 public void Prop_Class()
 {
     CreatorCompiler.CompilePropertyInjection <ClassWithTwoProperties>(this.PropClassConstructorInfo, this.PropClassProperties);
 }
 public void Prop_Struct()
 {
     CreatorCompiler.CompilePropertyInjection <StructWithTwoProperties>(this.PropStructConstructorInfo, this.PropStructProperties);
 }
 public void Ctor_Class()
 {
     CreatorCompiler.CompileConstructorInjection <ClassWithTwoPropertiesAndConstructor>(this.CtorClassConstructorInfo, this.CtorClassConstructorParameters);
 }
 public void Ctor_Struct()
 {
     CreatorCompiler.CompileConstructorInjection <StructWithTwoPropertiesAndConstructor>(this.CtorStructConstructorInfo, this.CtorStructConstructorParameters);
 }