5

以下のようにオブジェクトを初期化する必要があります。

var obj = new EduBranch {
    Id = model.Id,
    WorklevelId = model.WorklevelId,
    EdulevelId = model.EdulevelId,
    Title = model.Title,
    StartEduYearId = model.StartEduYearId,
    EndEduYearId = model.EndEduYearId,
};

しかし、CodeDOMでは次のものしか見つかりませんでした。

var objectCreate1 = new CodeObjectCreateExpression("EduBranch", 
    new CodeExpression[]{});  

これは、括弧の代わりに括弧を使用して初期化します。このためのCodeDOMアプローチはありますか?(私はすでにstringBuilderを使用してコードを作成していますが、CodeDOMアプローチを探しています)ありがとう

4

1 に答える 1

5

CodeDomは現在、オブジェクト初期化子(またはコレクション初期化子)をサポートしていません。

CodeDomは、他のテクノロジー(T4テンプレートなど)が原因で、長年にわたって支持されなくなりました。

とはいえ、この行は次のとおりです。

var obj = new EduBranch {
    Id = model.Id,
    WorklevelId = model.WorklevelId,
    EdulevelId = model.EdulevelId,
    Title = model.Title,
    StartEduYearId = model.StartEduYearId,
    EndEduYearId = model.EndEduYearId,
};

事実上次と同じです:

var obj = new EduBranch();

obj.Id = model.Id;
obj.WorklevelId = model.WorklevelId;
obj.EdulevelId = model.EdulevelId;
obj.Title = model.Title;
obj.StartEduYearId = model.StartEduYearId;
obj.EndEduYearId = model.EndEduYearId;

CodeDOMを使用して上記を生成し、同じものを取得できます

于 2012-10-13T17:03:57.450 に答える