元の宣言と厳密に同じエンコーディングの使用が求められる。準拠のスコープに導入されるすべての名前は、完全に独立した種類である必要があります。名前が同じでオーバーロードによって解決できる場合を除きます。識別子の比較だけで区別できる必要がある。指定を除き、識別子の比較により名前が同じであるメソッド、プロパティ、およびイベントでは、相違点は戻り値の型だけに限定されない。プロパティおよびメソッドのみオーバーロードできる。プロパティおよびメソッドは、パラメーターの数値と型にのみ基づいてオーバーロードできる。準拠のメソッドに同じ名前が指定されている場合、特定の一連の型のインスタンス化において、これらのメソッドのパラメーターと戻り値の型は同じである。レベルで等価にする必要がある。準拠クラスの継承でなければならない。アクセサーはすべて静的、すべて仮想、またはすべてインスタンスになる。最後の引数の型でなければいけない。最後のパラメーター以外のすべての型でなければいけない。準拠でなければならない。ポインターであってはいけない。参照渡しではいけない。プロパティは、特定の名前付けパターンに従わなくてはいけない。属性は、適切な名前比較で無視され、識別子規則に従わなければいけない。メソッド、またはこの両方が必ずなければいけない。指定されている場合は、強制変換のための別の方法を用意する必要がある。準拠でなければいけない。準拠でなければいけない。