1
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