-1

XMLデータモデルにユーザー定義型とユーザークラス定義が含まれていることを読み取り、C#クラスに変換するコードをPythonで作成しました。

たとえば、ユーザーは次の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
    }
}

streringがXMLファイルで定義されている場合、アプリケーションはそれをシンボルテーブルで見つけて別のレベルに渡すことができますが、私の質問は、ユーザーが入力したリストタイプが.Net組み込みタイプであるかどうかをどのように理解できますか?

4

1 に答える 1

2

コード生成の場合は、XMLの2番目のパスを使用して、最初のパスで読み取られた複合型があるかどうかを確認します。これが一般的にコードジェネレーターの仕組みです。

値を見るだけで、試行を決定する明確な方法は実際にはありません。私が言いたいのは、「ステリング」は文字列または列挙である可能性があるということです。したがって、何を生成するかを決定するために、いくつかのロジックを追加する必要があります。

于 2012-07-19T09:19:13.170 に答える