CreateValueExpression() static private méthode

static private CreateValueExpression ( string builtInType, string strValue ) : System.CodeDom.CodeExpression
builtInType string
strValue string
Résultat System.CodeDom.CodeExpression
        internal static CodeExpression CreateFixedDefaultValueExpression(CodeTypeReference type, string value)
        {
            CodeExpression codeExpression;
            string         baseType = type.BaseType;

            if (baseType.Contains("Nullable"))
            {
                Debug.Assert(type.TypeArguments.Count == 1);
                baseType       = type.TypeArguments[0].BaseType;
                codeExpression = SimpleTypeCodeDomHelper.CreateValueExpression(baseType, value);
            }
            else if (type.ArrayRank != 0)
            {
                baseType       = type.ArrayElementType.BaseType;
                codeExpression = SimpleTypeCodeDomHelper.CreateFixedDefaultArrayValueInit(baseType, value);
            }
            else if (!baseType.Contains("List"))
            {
                codeExpression = SimpleTypeCodeDomHelper.CreateValueExpression(baseType, value);
            }
            else
            {
                Debug.Assert(type.TypeArguments.Count == 1);
                baseType       = type.TypeArguments[0].BaseType;
                codeExpression = SimpleTypeCodeDomHelper.CreateFixedDefaultArrayValueInit(baseType, value);
            }
            return(codeExpression);
        }
        internal static CodeArrayCreateExpression CreateFixedDefaultArrayValueInit(string baseType, string value)
        {
            CodeArrayCreateExpression array = new CodeArrayCreateExpression(baseType, new CodeExpression[0]);

            string[] strArrays = value.Split(new char[] { ' ' });
            for (int i = 0; i < (int)strArrays.Length; i++)
            {
                string s = strArrays[i];
                array.Initializers.Add(SimpleTypeCodeDomHelper.CreateValueExpression(baseType, s));
            }
            return(array);
        }