![]() |
1
17
如果我没弄错的话
你可以这样称呼它:
|
![]() |
2
37
使用 curiously recurring template pattern
调用方法:
此解决方案增加了少量样板文件开销,因为必须用派生类模板化基类。 如果您的继承树有两个以上的级别,那么它也是有限制的。在这种情况下,您必须选择是传递template参数,还是将当前类型强加给静态方法调用的子对象。
|
![]() |
3
4
在类型上定义了静态方法。没有“这个”。您需要将其作为实例方法:
然后您可以执行以下操作:
|
![]() |
4
3
here . 它使用一个接口来统一所有派生类,并允许它们在不传递类型的情况下从基类调用相同的静态方法。
|
![]() |
5
0
只是猜测(未测试)
|
![]() |
6
0
您可以使方法成为非静态的,这样就可以通过多态性获得正确的类型,或者在子类中创建静态方法“重写”,例如。
然后,您的客户机代码可以调用派生类中的方法,以显式指示它想要的是派生类版本。如果需要,还可以将DerivedClass类型作为参数传递给基类方法,以提供通过派生类调用该方法的上下文。 |
![]() |
7
0
为什么不直接使用已有的方法呢? 如果你有
你可以看看
|
![]() |
8
0
我认为以下内容将适用于本案例(以及其他类似案例)。性能将不会太好,但如果这是罕见的,这不会是一个问题。 在特定情况下
希望$derivedOnStack中只有一个元素,但这将取决于应用程序的细节。需要一些实验。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |