我需要兩個靜態類之間共享一些通用的功能之間共同的功能:分享兩個靜態類
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