在我的程序中,我有一个A扩展的类B,C以及更多的类.我有一个方法GetInstance()返回B或C(或其中一个其他孩子)的实例,但我不知道哪一个,所以方法的返回类型是A.
在方法中CreateGenericList(),我有一个v类型的变量,A实际上是一个B,一个C或另一个子类型,我想创建一个正确类型的通用列表,即List<B>如果v是a B或List<C>if v是a C,...
目前我通过使用反射来实现它,但是这非常慢.我想知道是否有另一种方法可以做到这一点,它不使用反射.
以下是我的问题代码示例:
class A { }
class B : A { }
class C : A { }
// More childs of A.
class Program
{
static A GetInstance()
{
// returns an instance of B or C
}
static void CreateGenericList() …Run Code Online (Sandbox Code Playgroud)