特定のクラスだけでiterfaceを実装できるようにすることは可能ですか? ExmapleについてはCでインタフェースの実装を制限する方法
:System.Collections.Generic.Dictionary
クラスで
が実装System.Collections.Generic.ICollection<TKey>
同様System.Collections.ICollection
でKeyCollection
密封されたクラスを持っていますが、私は、コードのVisual Studioを見たとき、それはKeyCollection
だけSystem.Collections.ICollection
インターフェイスメソッドを実装していることを示すメタデータから構築します。
同じように制限するにはどうすればよいですか。
簡単な例: 私は、同じインタフェースを使用しているが、私はコンパイルの問題に直面しています。真であるが、いかなる制限もKeyCollection
ていない
方法であること、誰もが '' ICollectionを 'を実装ICollection'たりすることができます場合は、のために求めているものの例? –
hvd
あなた自身のアセンブリ(プロジェクト)内のインタフェース移動インタフェースの実装を制限したい場合は、他のプロジェクトで使用するpublicクラスのインタフェースを実装する同じアセンブリ内のインタフェースinternalを作ります – Fabio
できません。どのようにクラスがそれに実装されたインタフェースを実装しないようにクラスを制限することができるか。 –