我正在嘗試在實現屬於彼此的對象之間建立一個類型層次結構。語法已經變得多餘,導致我相信我要麼濫用泛型,要麼有巧妙的手段來表示接口之間的這種關係。與泛型建立關係
讓我給你舉個例子:
interface Interface
{ }
interface Class<I>
where I : Interface
{ }
interface Method<I, C>
where I : Interface
where C : Class<I>
{ }
interface Parameter<I, C, M>
where I : Interface
where C : Class<I>
where M : Method<I, C>
{ }
}
這個層次的根是Interface
。然後,我們有一個Class
,它只能從一個特定的Interface
派生。
Method
必須屬於Class
的特定實現。
Parameter
只能用特定的Method
執行。
有沒有更好的方法來解決這個問題?我用C#泛型語法生疏一點,因爲過去一年我一直在C和Go游泳。
這真的取決於你想如何使用這個。現在你的問題似乎有點泛泛,沒有雙關意圖。 – juharr