选择一个类的随机子类

问题描述 投票:0回答:1

假设我有一个类

Letter
和很多类
A
B
,...,它们都继承自
Letter

如何随机选择

Letter
的子代?

我知道这听起来有点宽泛,但我想要的是这样的

public Letter GetRandomLetter()
{
    //return a random instance of A, B or any child class
}

子类的数量是未知的,所以我不能只使用一些带有随机数的逻辑来返回每个子类的实例。我也不想使用反射。

c# inheritance
1个回答
0
投票

使用所有字母创建一个

List<Type>
,并使用
Random
类从中随机选择。如果您需要该字母的实例,请创建一个新实例,如果不需要,则将返回类型更改为
Type

可能说了一些愚蠢的话,因为我对 C# 比较陌生(才几个月),但我认为这会起作用。

如果您愿意,我可以附上片段。

© www.soinside.com 2019 - 2024. All rights reserved.