[英]Cast MyClass<T> to MyClass<dynamic>
以下代碼無法編譯:
public class Test
{
public void Run()
{
List<MyClass<dynamic>> listOfMyClasses = new List<MyClass<dynamic>>();
MyClass<dynamic> myClass = new MyClass<int>(); // Error here
listOfMyClasses.Add(myClass);
}
public class MyClass<T>
{
public void DoSomething() { }
public void DoSomethingSpecial<T>(T t) { }
}
}
但是,我認為這在邏輯上是有道理的(如果我弄錯了,請告訴我)。 大概它很有用,因為我可以在不知道類型參數的情況下調用DoSomething
。 如何完成將myClass
到列表中?
而不是使用MyClass<dynamic>
的列表,只需使用dynamic
的列表:
public void Run()
{
List<dynamic> listOfMyClasses = new List<dynamic>();
dynamic myClass = new MyClass<int>();
listOfMyClasses.Add(myClass);
}
public class MyClass<T>
{
public void DoSomething() { }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.