1
6
C#没有任何确切的等价物。但是,您可以通过使用以下泛型类型约束来解决此问题:
new()约束表示有一个无参数构造函数—您没有,但我们将其设为私有,以便对消费者隐藏它。然后可以这样调用:
|
2
0
对不起,你不能这样做。C#在道德上反对静态方法继承。GimmeOne方法将永远不会有MyBaseClass以外的任何类型,从子类1调用它并不重要——它仍然是“真正的”MyBaseClass调用。反射库可以进行这种构造,但是除了MyBaseClass之外,您永远不会从中得到任何东西。 如果您正在调用一个静态方法,那么您可能知道从哪个子类调用它。为每个子类创建不同的工厂方法。如果您真的试图通过实例来实现这一点,那么您可能应该使用非静态虚拟工厂方法(它将自动调用函数的最派生形式,这可能是您想要的)。 |
GMahan · 基类析构函数C++中的分段错误[重复] 9 年前 |
user2052436 · 英特尔与GCC在constexpr上的比较 9 年前 |
Rubens · 使继承的成员为静态成员 11 年前 |
navderm · 静态函数输出与普通fn输出不同 11 年前 |
user2032433 · 在哪里设置静态成员的属性? 11 年前 |
Ayelix · 朋友和静态成员函数有什么样的成员访问权限? 12 年前 |