我有下面的C#類和接口: class NativeTool
class NativeWidget: NativeTool
class NativeGadget: NativeTool
// above classes defined by the API I am using. Below classes and interfaces defined by me.
interface IT
我把這些方法放在一起來幫助迭代嵌套地圖(對於another SO question)。 正如您可以清楚地看到的,前兩種方法實際上幾乎完全相同,除了它們的仿製藥以外,其他調用iV和其他調用iiV。有什麼辦法可以將它們摺疊成一種方法,或者至少將機制的明確重複放在一個地方? 如果做得對,應該可以迭代任何深度的嵌套地圖。 // Iterating across Maps of Maps of Maps.
我有這樣的代碼: public class UndirectedGraphImpl<N> {
[...]
public Iterator<Edge<N>> adj(N v) {
return new AdjIterator(v);
}
private class AdjIterator implements Iterator<Edge<N>>