2011-01-02 4 views
3

Interlocked.Read()の背後にある理由は、Int64用にのみ定義され、UInt64用には定義されません。私は2つのタイプの間に違いがあるとは思わなかったでしょう。符号なし連動型リード

答えて

3

InterlockedクラスはCLS-CompliantUInt32UInt64がため良くも悪くも、CLSに準拠していないため、あるあるmscorlibに定義されています。彼らはCLSに準拠していない理由については

、このSOの記事を参照してください。私から

+0

+1を..... –

+1

CLS準拠では定義しない愚かな理由と思われます符号なし変数に対する連動演算。 CLS準拠の目的は、特定のオプション機能を持たない言語が、異なる定義がされている場合に便利なライブラリ関数の使用から除外されないようにすることです。 unsigned型のパラメータを受け入れるCompareExchangeのオーバーロードは、符号なしの型を持つ言語には役に立ちますが、そのような言語では役に立たないものの有用性を損なうことはありません。 – supercat

関連する問題