!(ReferenceEquals())vs!= エンティティの枠組み4
-
27-09-2019 - |
質問
ない限り具体的にはクラスオーバーライドの行動に定義されたオブジェクト ReferenceEqualsや==と同じことを行ない...を比較します。
財セッター、一般的に使用パターン
private MyType myProperty;
public MyType MyProperty
{
set
{
if (myProperty != value)
{
myProperty = value;
// Do stuff like NotifyPropertyChanged
}
}
}
しかし、生成されたコードにより企業の枠組みの中で、 if
算書に置き換え
if (!ReferenceEquals(myProperty, value))
使用ReferenceEqualsがより明確に示していないすべてのC#プログラマが知ること==も同じことが行われていない場合はオーバーライド).
違いはあることになるの脱出meの場合-異?いうの会計処理の可能性POCOのデザイナーがオーバーライド ==
?
にしている場合はオーバーライドされないかぎり ==
, は、保存用!= の代わりに ReferenceEquals()
?
解決
ここでは、異なる意味:
ReferenceEquals()
を用いる必要があればその物体がまったく同じものを一(アイデンティティチェック).object.Equals()
を利用すればよろしくお願いしまオブジェクトが同じ値の平等の確認)==()
はだけに使用すること変更できます。そのために使用す試験を進めていきます。
もちろんの逆側うこともあります。
他のヒント
==べき試験の基準点と同じ場所ではReferenceEquals試験への参照が含まれている場合は、同じデータ
所属していません StackOverflow