![]() |
1
6
你不能那样做。而且静态方法无论如何都不是多态的,所以它不会有太大的意义。 你想要的是某种工厂模式。 |
![]() |
2
2
假设
或者说流利一点:
|
![]() |
3
1
我想到的唯一选择是使用抽象类,而不是这里的接口。然而,无论如何,您都无法覆盖子类中静态方法的行为。
您可以使用Factory模式并要求类实现类似的行为
|
![]() |
4
1
我会将所有与序列化相关的方法提取到不同的接口中。请考虑以下示例:
|
![]() |
5
0
也许是这样?
即使以上可能是一个解决方案,我也鼓励您使用abstract工厂和/或模板方法。看见 Template Method Pattern 相反另一种选择可能是使用 Extension method 如果您不想在几个实现之间共享它。 |
![]() |
6
0
总的来说,众所周知(有时)我会将Extension方法用于以下内容:
这就是实例,让我们处理“静态”部分:
还有一个测试:
正如@Jim所提到的,在有些情况下你不会
希望
一
遗憾的是,当我们偏离“规范”时,我们现在必须告诉方法我们想要什么:
|
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |
![]() |
randomDud · C#从另一个接口重写接口方法 2 年前 |
![]() |
evilsushi · C#接口不允许成员类满足要求 6 年前 |