リファレンスタイプのEquals()の実装は、それよりも難しくなります。私の現在の標準的な実装では、このように書きます: public bool Equals(MyClass obj)
{
// If both refer to the same reference they are equal.
if(ReferenceEquals(obj, this))
ret
Visual Studio Professonal 2008のテスト機能で初期の失敗する単体テストを作成しようとすると、Assert.ReferenceEquals()を取得できないようですオブジェクトインスタンスがでない場合に正しく失敗します。はnull参照と同じです。この同じ比較のためにobject.ReferenceEquals()が正しくfalseを返すことに注意してください。 stati
自分自身を検証しようとしている間に、IEnumerablesのC#Equalsが参照と等しいことがわかりました。 NUnitの var a = (IEnumerable<string>)(new[] { "one", "two" });
var b = (IEnumerable<string>)(new[] { "one", "two" });
で以下のセットアップこのテスト Assert.
文字列メンバーでC#クラスを定義しました。すべての目的のために、このクラスを文字列のサブクラスとみなしてください(ただし、これは許されません)。特定の形式に一致する厳密に型指定された文字列フィールドを表すために使用しています(これを大幅に単純化しました)。 public class field
{
private readonly string m_field;
public