考虑以下代码:
class MyClass { } class MyClass2 : MyClass { } private void Foo(MyClass cl) { //cl is actually MyClass2 instance TestGeneric(cl); } private void TestGeneric<T>(T val) { //do smth }
在调用Foo()之后,TestGeneric中的T是MyClass,而不是MyClass2.
如何将val视为MyClass2实例?
提前致谢.
UPD:
我实际上并不知道该对象是使用MyClass2 ctor创建的,而是可以通过调用val.GetType()来推断这一点,因此简单的MyClass2将不起作用