相同在「CLR via C#」一書中提到動態關鍵字對應的FCL類型是System.Object。請澄清這一點。動態與對象
Q
動態與對象
3
A
回答
5
這不從的C#的角度來看,在所有的同樣的事情......但在編譯的代碼,一個變量聲明爲類型dynamic
通常(可能總是)與CLR領域或類型的局部變量對應object
。
C#編譯器負責確保使用該值的任何源代碼都具有對其應用的動態行爲。 object
只是表示用於存儲的編譯器。它也適用於[Dynamic]
屬性,以便其他代碼知道它將被動態處理。
例如,考慮一下:
public class Foo
{
public dynamic someField;
}
我相信一定會被編譯成IL相當於:
public class Foo
{
[Dynamic]
public object someField;
}
現在
,如果你寫:
Foo foo = new Foo();
foo.someField = "hello";
Console.WriteLine(foo.someField.Length);
編譯器使用屬性要知道foo.someField
是動態的,所以Length
本身ty應該是動態綁定的。
2
相關問題
- 1. 動態與對象類型
- 2. 動態對象
- 3. JPA /休眠與動態對象模型
- 4. 對象池與動態分配
- 5. Elasticsearch映射與動態密鑰對象
- 6. ValueInjector與動態代理對象
- 7. Java方法與動態對象
- 8. 動態拉姆達與對象
- 9. Haxe Starling對象池與動態對象類型
- 10. 自定義微調器與動態對象和動態圖標
- 11. REST對象爲半動態.net對象
- 12. 從動態對象創建對象
- 13. 動態獲取動態對象的值
- 14. 將動態值賦給動態對象
- 15. 靜態對象與Visual Studio
- 16. Golang靜態與對象的動態綁定
- 17. 創建動態JavaScript對象
- 18. 動態創建對象
- 19. 動態3D對象建模
- 20. 對象數組動態
- 21. Silverlight VB AddHandler動態對象
- 22. 嵌套動態對象
- 23. JSON.Net獲取動態對象
- 24. StringTemplate的.NET動態對象
- 25. 動態填充javascript對象
- 26. 動態xml到Java對象?
- 27. 綁定動態對象wpf
- 28. 動態創建JavaScript對象?
- 29. 選擇對象動態
- 30. 訪問JavaScript對象動態