11

ファイルからオブジェクトを読み取るまで、オブジェクトがどのようなプロパティを持つかわからないため、オブジェクトの動的リストを作成しようとしています。

したがって、オブジェクトのプロパティが配列内にあるとします(FirstName、LastName、Emailなど)。

上記のプロパティを使用して、Recipientという動的オブジェクトを作成したいと思います。次に、リストを作成し、これらのオブジェクトのいくつかをそのリストに追加します。

これまでに次のことを行いましたが、これが動的オブジェクトにプロパティを割り当てる正しい方法かどうかはわかりません(「フィールド」は配列の名前です)。

var persons = new List<dynamic>();
dynamic Recipient = new ExpandoObject() as IDictionary<string, Object>;
foreach (string property in fields)
{
   Recipient.property = string.Empty;
}

上記のプロパティを使用して受信者オブジェクトを作成し、それらの受信者を個人リストに追加するにはどうすればよいですか?

4

1 に答える 1

14

ExpandoObjectIDictionary<string, object>キー/値がメンバー名/値にマップされるインターフェースを実装します。配列にプロパティがある場合は、fieldsそれらを辞書キーとして使用します。

IDictionary<string, object> recipient = new ExpandoObject();
foreach (string property in fields)
{
   recipient[property] = string.Empty;
}
于 2013-01-07T15:54:31.897 に答える