1


0

次の点を考慮してください。

パブリックインターフェイスICleanCoder {void DoSomeCoding(object task);} }

パブリックインターフェイスICleanCoder {void DoSomeCoding(T task);} }

...

パブリッククラスTestCleanCoding {void RegisterCleanCoder(ICleanCoder coder); }

後で非総称参照を可能にするには、最初の非総称インターフェースが必要です。 技術的にはそれが完全に理にかなっていることを私は知っていますが、解決策は私には少し腐った匂いがします、そして私は何かが足りないかどうか疑問に思いました。

1 Answer


2


残念ながら、TestCleanCodingもテンプレートにしたいのでない限り、これが唯一の方法です(これは合理的な設計上の決定であり、ICleanCoderがテンプレートであることの利点を捨てることはありません)。また、あなたは重要な部分を省いています:

パブリックインターフェイスICleanCoder:ICleanCoder {void DoSomeCoding(T task);} }

さもなければ、あなたのテンプレート化されたインターフェースはあなたの基本インターフェースとは無関係です。