2011-07-04 8 views
1

NSObject駆除オブジェクトからGetHashCode()を呼び出すとき、MonoTouchが適切な基盤の "ハッシュ"メッセージを呼び出すかどうかを調べようとしています。任意のオブジェクト(私の例ではNSAttributedString)のGetHashCode()(MDのアセンブリブラウザ内)の実装を素早くチェックすると、object.InternalGetHashCode()が呼び出され、「ハッシュ」と呼ばれることはありません。 「ハッシュ」は公開されていないように見えるので、別の方法があると思われます。誰もこの道を前に下った?GetHashCode()はMonoTouch for NSObject派生オブジェクトで正しく動作しますか?

答えて

2

これはバグです。

私はMonoMacでこれを修正する、と私たちの今後のiPhone/.NET製品

0
object.InternalGetHashCode() 

... MonoTouchまたはMonoプロジェクトであるかどうかにかかわらず、System.Objectのアセンブリブラウザでも同様に返されます。

はい、正しく動作します。

+0

ためGetHashCodeメソッドのデフォルト実装は、オブジェクトのメンバのハッシュを作成します。この場合、モノは対象となる内容ではなく、目的のオブジェクトへのポインタだけを見ているでしょうか?便利なように、同じ内容の2つのnsstringに対してgethashcodeを呼び出すと、同じ値が返されます。どうにかして[Nsstringハッシュ]が呼び出されない限り、私はそれがどのように機能するかはわかりません。 (私のiPadに入力して、怠惰なキャップを許してください;) – Ethan

関連する問題