[英]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.