5
A
回答
5
它可以用來動態地選擇基礎上的param1
在運行時類型function(...)
過載,例如:
public static void Something(string x)
{
Console.WriteLine("Hello");
}
public static void Something(int x)
{
Console.WriteLine("Goodbye");
}
public static void Main()
{
object x = "A String";
// This will choose string overload of Something() and output "Hello"
Something((dynamic)x);
x = 13;
// This will choose int overload of Something() and output "Goodbye"
Something((dynamic)x);
}
因此,即使x
是object
一個參考,它會在運行時決定什麼過載Something()
來電。請注意,如果沒有適當的超載,將拋出異常:
// ...
x = 3.14;
// No overload of Something(double) exists, so this throws at runtime.
Something((dynamic)x);
相關問題
- 1. C++靜態和動態類型鑄造
- 2. C#:鑄造類型的動態
- 3. 動態類型鑄造
- 4. 鑄造類型參數
- 5. 動態鑄造C#
- 6. 動態鑄造類
- 7. 類型鑄造在c#.net
- 8. 類型鑄造在objective-c
- 9. 鑄造類型參數必須爲動態
- 10. C++多態性和類型鑄造
- 11. 動態鑄造和消息類型
- 12. 優雅的動態類型鑄造
- 13. C#鑄造通用類型
- 14. C指針類型鑄造
- 15. c中的類型鑄造#
- 16. cin類型鑄造(C++)
- 17. 鑄造輸入參數正確類型
- 18. 通用方法 - 參數類型鑄造
- 19. 在c中鑄造泛型類型#
- 20. 在Java中的類型鑄造/鑄造
- 21. 自動類型鑄造
- 22. 自動化鑄造類型
- 23. 鑄造類型
- 24. 動態鑄造
- 25. 動態鑄造
- 26. 動態鑄造?
- 27. 「動態」鑄造
- 28. 動態類型鑄造的Java反射/泛型類型
- 29. C++ - 動態數組鑄造垃圾
- 30. C++類鑄造
我希望看到更多。一般來說,如果該函數需要一個動態變量,您可以*執行,但這不是必需的。 – scottm
@scottm:這就是我最初的想法,然後我記得你也可以在運行時使用它來選擇正確的方法重載。 –
@JamesMichaelHare非常小的用例。這是我會譴責以前的開發者故意使用的一種東西。 – scottm