ExpandoObjectには便利なファクトリメソッドはありますか?何かのように、私は知らない、ExpandoObjectの便利な工場ですか?
dynamic disney = new ExpandoObject("First", "Donald", "Last", "Duck");
ExpandoObjectには便利なファクトリメソッドはありますか?何かのように、私は知らない、ExpandoObjectの便利な工場ですか?
dynamic disney = new ExpandoObject("First", "Donald", "Last", "Duck");
いいえ、分ではなく書くことができます。 :) ここに行く:もちろん
C#
class Program
{
static void Main(string[] args)
{
dynamic ex = ExpandoFactory.Create("First", "Donald", "Last", "Duck");
Console.WriteLine(ex.First);
Console.WriteLine(ex.Last);
}
}
static class ExpandoFactory
{
internal static ExpandoObject Create(params string[] items)
{
//safety checks omitted for brevity
IDictionary<string, object> result = new ExpandoObject();
for (int i = 0; i < items.Length; i+=2)
{
result[items[i]] = items[i + 1];
}
return result as ExpandoObject;
}
}
を、あなたは事前に、配列のカーディナリティをチェックする必要があります。 私はこれが役立つことを願っています。
ループ条件を 'i + 1
良い点、ありがとう! :)配列が奇数個の要素を持つ場合は例外がスローされますが、 –
あなたは 'dynamic disney = new ExpandoObject {First =" Donald "、Last =" Duck "};'を試しましたか?それがうまくいくかどうか不思議です(現時点で私のWindowsワークステーションにアクセスできない)。 – dasblinkenlight