Example #1
0
        public void ParseType3()
        {
            const string code     = "{id:'int',name:'ascii,10',person:{name:'string,10',sex:'byte'},first:'person',menu:{person:{id:'long',name:'string,5'},name:'string,10',parent:'menu',childs:['menu']},others:[{id:'int',name:'string',person:'menu.person'}],values:['string,10'],others2:'others'}";
            var          metadata = DTObject.GetMetadata(code);

            var es = metadata.Entries.ToArray();

            AssertValue(es[0], "id", "int");
            AssertValue(es[1], "name", "ascii", "10");

            AssertObject(es[2], "person", "person");
            var person       = es[2] as ObjectEntry;
            var personChilds = person.Childs.ToArray();

            AssertValue(personChilds[0], "name", "string", "10");
            AssertValue(personChilds[1], "sex", "byte");

            AssertObject(es[3], "first", "person");
            var first       = es[3] as ObjectEntry;
            var firstChilds = first.Childs.ToArray();

            AssertValue(firstChilds[0], "name", "string", "10");
            AssertValue(firstChilds[1], "sex", "byte");

            AssertMenu(es[4]);

            AssertOthers(es[5], "others", "others");

            AssertList(es[6], "values", "values");
            var valuesItem = (es[6] as ListEntry).ItemEntry;

            AssertValue(valuesItem, "item", "string", "10");

            AssertOthers(es[7], "others2", "others");
        }
Example #2
0
        public void ParseType2()
        {
            const string code     = "{id:'int',name:'ascii,10',person:{name:'string,10',sex:'byte'}}";
            var          metadata = DTObject.GetMetadata(code);

            var es = metadata.Entries.ToArray();

            AssertValue(es[0], "id", "int");
            AssertValue(es[1], "name", "ascii", "10");
            AssertObject(es[2], "person", "person");
        }
Example #3
0
        public void ParseType1()
        {
            //const string code = "{id:'int',name:'ascii,10',person:{name:'string,10',sex:'byte'},first:'person',menu:{person:{id,nam}},name:'string,10',parent:'menu',childs:['menu']},others:[{id:'int',name:'string',person:'menu.person'}]}";
            const string code     = "{id:'int',name:'ascii,10'}";
            var          metadata = DTObject.GetMetadata(code);

            var es = metadata.Entries.ToArray();

            AssertValue(es[0], "id", "int");
            AssertValue(es[1], "name", "ascii", "10");
        }
Example #4
0
 /// <summary>
 /// 远程根类
 /// </summary>
 /// <param name="typeName">类型名称,请注意,同一个类型名称的<paramref name="metadataCode"/>代码应该相同</param>
 /// <param name="metadataCode"></param>
 internal TypeDefine(string typeName, string metadataCode, Type domainInterfaceType, Type objectType, bool closeMultiTenancy)
     : this(typeName, metadataCode, DTObject.GetMetadata(FormatMetadataCode(typeName, metadataCode)), domainInterfaceType, objectType, typeName, closeMultiTenancy)
 {
 }
Example #5
0
 /// <summary>
 /// 远程根类
 /// </summary>
 /// <param name="typeName">类型名称,请注意,同一个类型名称的<paramref name="metadataCode"/>代码应该相同</param>
 /// <param name="metadataCode"></param>
 internal TypeDefine(string typeName, string metadataCode, Type domainInterfaceType, Type objectType)
     : this(typeName, metadataCode, DTObject.GetMetadata(FormatMetadataCode(typeName, metadataCode)), domainInterfaceType, objectType, typeName)
 {
 }