我見過使用名爲AsDynamic()
的方法。 IIRC它是一種擴展方法。這個想法是,對於任何對象,你可以調用myObject.AsDynamic()
並獲得它的動態版本。「AsDynamic()」在哪裏?
事情是,我找不到AsDynamic()
方法,儘管有很多谷歌搜索。我假設它實際上已經實現了自己,我也想這樣做。
我使用的.NET 4客戶端配置文件,我很困惑。 :)
非常感謝提前。
我見過使用名爲AsDynamic()
的方法。 IIRC它是一種擴展方法。這個想法是,對於任何對象,你可以調用myObject.AsDynamic()
並獲得它的動態版本。「AsDynamic()」在哪裏?
事情是,我找不到AsDynamic()
方法,儘管有很多谷歌搜索。我假設它實際上已經實現了自己,我也想這樣做。
我使用的.NET 4客戶端配置文件,我很困惑。 :)
非常感謝提前。
事實證明我是正確的 - 這是某個人(Greg Young的),有其具體實現。實施的細節,從大衛博的博客採取:
Use C# 4.0 dynamic to drastically simplify your private reflection code
你可以只分配變量的動態無功
Foo foo = GetFooFromSommehere();
dynamic dyn = foo;
或者將它轉換:
Foo foo = GetFooFromSommehere();
var dyn = (dynamic) foo;
爲什麼要有AsDynamic()
方法?
ToList()
方法實際上做的東西,而不是鑄造不像dynamic
。
我不認爲你會得到這個問題的想法。看到這個[鏈接](http://stackoverflow.com/questions/9700293/parsing-complex-json-without-reflected-objects/9700430#9700430)例如哪裏會使用「AsDynamic」 – 2012-03-14 22:21:12
@ L.B。該示例不會執行「AsDynamic」它將JSON解析爲動態對象。這裏沒有提到什麼......我知道'dynamic'可以是有幫助的,但不是'AsDynamic()'方法! – gdoron 2012-03-14 22:23:06
你還是不明白 – 2012-03-14 22:24:50
爲什麼不簡單地將一些東西分配給一個動態變量或將其轉換爲動態變量,因爲之後該類型不是安全的,那麼該變量總是應該通過。
如果你想擴展方法:
public static class DynamicExtension
{
public static dynamic ToDynamic(this T value)
{
return (dynamic)value;
}
}
你正在尋找的可能是在 ReflectionMagic
我懷疑實施了庫法我們和你一樣困惑。除了'dynamic myDynamic = myObject;'你在尋找什麼?'? – 2012-03-14 22:10:58
也許http://msdn.microsoft.com/en-us/library/system.json.jsonvalue.asdynamic(v=vs.110).aspx – 2012-03-14 22:11:59
@ L.B。 _「.NET Framework 4.5」_ – gdoron 2012-03-14 22:14:04