Delphiプロジェクト(RAD Studio XE7で構築)では、ブラシの辞書を作成したいと思います。各辞書項目にはキーとしてのTMyBrushオブジェクトが含まれ、取得するブラシとGDI +ブラシが値として含まれています。GetHashCodeの良い実践ですか?
TMyBrushクラスは3つのフィールド
- ブラシの種類を決定する列挙型(固体、勾配、...)のブラシ内容(色、ラップモードを説明
- A TBrushInfoクラスを含みます私の辞書に
クランプフィールドを表し、...)
Equals()関数を記述することは問題ではありません。しかし、私はGetHashCode()関数を記述するのがベストプラクティスであるかどうかわかりません。私はこのような関数を書く傾向があります:
function TMyBrushComparer.GetHashCode(const pValue: TMyBrush): Integer;
begin
Result := BobJenkinsHash(pValue, SizeOf(TMyBrush), 0);
end;
しかし、私はそれは正しい練習ではないと感じています、それは正しいですか?だから、私のTMyBrushComparerのために良いGetHashCode()関数を書くベストプラクティスは何ですか?
よろしく