1

だから私はToStringを使った匿名タイプを持っていて、ファイルに入れました。これは次のようになります(そして非常にJSonのように...):

{ Name = Name, Description = Description, Status = Pending, Key = Template, SubmittedBy = MyName, Identity = 2fb7a40b-e07a-4f1a-a48b-2c2720567f35 }

今、私は別の方法(編集:ファイルから文字列を取得し、既知のオブジェクトに入れることができる形式にそれを入れる)に行き、それを匿名タイプ(同じプロパティを持っていますが、私はしません)に入れたいと思いますそれらがキャスタブルかそのようなものであるかどうか気にかけてください、私はちょうどそのようなことをするための迅速な方法が欲しいです。

AnonObject = GetObjectFromFile(blah);
RealObject.Name = AnonObject.Name;

RealObjectのインターフェイスしかないため、クラスにシリアル化を追加できません。もっと良い方法を知っているなら、私に知らせてください。ありがとう。

4

1 に答える 1

6

匿名型はコンパイル時に定義され、他の型と同じようにアセンブリに含まれます。実行時にそれらを作成するには、型を動的に作成する必要があります-それは本当にすぐに厄介になる可能性があります。

.NET 4を使用している場合は、ExpandoObjectおよびdynamic;を使用できます。それ以外の場合は、おそらくaを使用してDictionary<string, object>これを変更します。

RealObject.Name = AnonObject.Name;

RealObject["Name"] = AnonObject.Name;

(またはその逆。あなたが何をしているのかははっきりしていません。)

于 2012-06-27T15:10:15.900 に答える