-1

我在 python 中编写了一个代码,它读取包含用户定义类型和用户类定义的 XML 数据模型,然后转换为 C# 类。

例如用户创建这个 XML 文件:

<app:list name="myList" itemType="strering">
    <app:restriction combination="any">
            <app:minSize>1</app:minSize>
     </app:restriction>
</app:list>

我的应用程序会将其转换为以下 C# 代码:

private  System.Collections.Generic.List<strering> _myList;
public System.Collections.Generic.List<strering> myList {
get{ return _myList; }
set{
    if (_myList == value)
        return;
    if ((value.Count>=1) || false){
        _myList=value;
    }
    else {
        throw new Exception("Inserted value for myList is not valid!");
    }

    RaisePropertyChanged ("myList"); // for binding to mvvm model
    }
}

如果在 XML 文件中定义了strering,那么我的应用程序可以在符号表中找到它并将其传递到另一个级别,但我的问题是如何理解用户输入的列表类型是否为 .Net 内置类型?

4

1 回答 1

2

如果是代码生成,则对 XML 使用第二遍,以了解在第一遍中是否已读取复杂类型。这通常是代码生成器的工作方式。

只看价值,真的没有明确的方法来决定尝试。我的意思是“stering”可以是字符串或枚举。因此,您必须添加一些逻辑来决定应该生成什么。

于 2012-07-19T09:19:13.170 回答