我需要两个静态类之间共享一些通用的功能之间共同的功能:分享两个静态类
public static class Class
{
public static void ClassMethod()
{
SharedMethod<object>();
}
//ideally a private method
internal static void SharedMethod<T>()
{
}
}
public static class GenericClass<T>
{
public static void GenericClassMethod()
{
SharedMethod<T>();
}
}
是否有更好的设计吗? internal
是我的最后一个选择,但真正的方法SharedMethod
在这两个类之外没有意义。
要求:
我无法将它们合并到一个单一的类,我需要他们分开,一个通用的,其他没有。
这些类不一定是严格静态的,但它们不应该是可实例化的或可继承的。
SharedMethod
可以属于任何一类,没关系。
他们不能合并的技术原因是什么?特别是,我在考虑使用泛型和非泛型方法组合的单个静态类,例如 – 2013-05-04 14:12:11
@MarcGravell更多的语义原因。 'Class'和'GenericClass <>'是相关的,它们用于类似的目的,但通过将它们分开可以更好地传达这个想法。它更像“元组”和“元组”等。 – nawfal 2013-05-04 14:15:06
@nawfal通常我喜欢抽象的软件架构问题,但我认为没有人能够进一步指定你的类代表什么,它们有什么操作(以及共享什么),以及它们应该如何在应用程序中使用。 “Tuple”和“Tuple <>”示例太简单了,因为可以简单地定义'公共类Tuple:Tuple