RendererGenerator.RendererBuilder.BuildConstructor C# (CSharp) Méthode

BuildConstructor() private méthode

private BuildConstructor ( CodeTypeDeclaration rendererType, DataStructure dataStructure ) : void
rendererType System.CodeDom.CodeTypeDeclaration
dataStructure DataStructure
Résultat void
        private void BuildConstructor(CodeTypeDeclaration rendererType, DataStructure dataStructure)
        {
            //throw new NotImplementedException();
            var method = new CodeConstructor();
            method.Attributes = MemberAttributes.Private;
            method.Name = dataStructure.RendererName;
            var model = new CodeParameterDeclarationExpression(typeof(IBufferable), "model");
            method.Parameters.Add(model);
            var shaderCode = new CodeParameterDeclarationExpression(typeof(ShaderCode[]), shaderCodes);
            method.Parameters.Add(shaderCode);
            var map = new CodeParameterDeclarationExpression(typeof(AttributeMap), "attributeMap");
            method.Parameters.Add(map);
            var last = new CodeParameterDeclarationExpression(new CodeTypeReference(string.Format("params {0}[]", typeof(GLState).Name)), "switches");
            method.Parameters.Add(last);
            method.BaseConstructorArgs.Add(new CodeVariableReferenceExpression("model"));
            method.BaseConstructorArgs.Add(new CodeVariableReferenceExpression(shaderCodes));
            method.BaseConstructorArgs.Add(new CodeVariableReferenceExpression("attributeMap"));
            method.BaseConstructorArgs.Add(new CodeVariableReferenceExpression("switches"));

            rendererType.Members.Add(method);
        }