EqualsやGetHashCodeをオーバーライドしないディクショナリのキーとしてクラスを使用したいと思います。これは、変更したくない外部ライブラリのクラスです。
それで、1つの辞書だけにカスタムの「GetHashCode」/「Equals」実装を使用できるかどうか疑問に思っていますか?C ++ std::mapsのようなものが可能かどうか疑問に思いました
template < class Key, // map::key_type
class T, // map::mapped_type
class Compare = less<T>, // map::key_compare
class Alloc = allocator<T> > // map::allocator_type
> class map;
ここで、Compareを使用してカスタム比較を定義できます。
オブジェクトは既存のクラスを使用して外部で作成されるため、クラスから派生させたくありません。
元のクラスを含むクラスを作成することもできますが、それによって辞書へのアクセスが変更されます。
あなたのアイデアをありがとう!