Exemplo n.º 1
0
    private static bool TryParseTitle(int idx, CSharpCalssBuilder builder, string strMemberLine, string strClassName)
    {
        if (builder == null)
        {
            return(false);
        }

        string[] memberLines = strMemberLine.Split(CMD_STRING, StringSplitOptions.RemoveEmptyEntries);
        if (memberLines == null)
        {
            return(false);
        }

        CodeMemberField field = null;

        for (int i = 0; i < memberLines.Length; ++i)
        {
            memberLines [i].ToLower();
            field = GetFieldByType(memberLines [i], m_builder.m_typeSave[i]);

            if (field == null)
            {
                Debug.LogError("未知类型定义!标题解析失败! 文件名称 : " + strClassName);
                return(false);
            }

            field.Attributes = MemberAttributes.Public;
            m_builder.m_filed.Add(field);
            builder.tableClass.Members.Add(field);
        }

        return(true);
    }
Exemplo n.º 2
0
    private static bool GetConfigValue(CSharpCalssBuilder builder, string strMemberLine, string strClassName)
    {
        if (builder == null)
        {
            return(false);
        }

        string[] memberLines = strMemberLine.Split(CMD_STRING, StringSplitOptions.RemoveEmptyEntries);
        if (memberLines == null)
        {
            return(false);
        }

        for (int i = 0; i < memberLines.Length; ++i)
        {
            CodeAssignStatement ass = SetFieldValue(m_builder.m_filed [i], m_builder.m_typeSave [i], memberLines [i]);
            if (ass == null)
            {
                Debug.LogError("Error Field Value! : class : " + strClassName + " Filed : " + m_builder.m_filed [i].ToString() + "  value : " + memberLines[i].ToString());
                return(false);
            }
        }

        /*CodeAssignStatement t_ass = new CodeAssignStatement ();
         * t_ass.Left = new CodeIndexerExpression(
         *      new CodeVariableReferenceExpression(builder.configTable.Name),
         *      new CodePrimitiveExpression(m_builder.m_filed [0]));
         *
         * t_ass.Right = new CodeIndexerExpression(
         *      new CodeVariableReferenceExpression(builder.configTable.Name),
         *      new CodePrimitiveExpression(m_builder.tableClass)); */

        //m_builder.CodeMethon_KeyPair (m_builder.m_filed [0],m_builder.configTable);
        return(true);
    }
Exemplo n.º 3
0
    public static void InitAutoClassBuilder()
    {
        if (m_builder == null)
        {
            m_builder = new CSharpCalssBuilder();
        }

        IsBuilding = false;
    }