拡張メソッドで実験

ふと気になったのです。

public static class ObjectExtensions
{
  public static bool IsNull(this object source)
  {
    return source == null;
  }
}

で、テストコード。

[TestFixture]	
public class ObjectExtensionsTest
{
  [Test]
  public void 値がNullでも大丈夫()
  {
    object value = null;
    Assert.That(value.IsNull(),Is.True);
    string text = null;
    Assert.That(text.IsNull(), Is.True);
  }
}

動いたっ!!!

まぁ、object とかに拡張メソッドを設定するとか、お行儀が悪いことはあまりしてはいけないのですが。というか、拡張メソッドじたいむやみやたらと使うのもどうかと思うのですが・・・。しかし、一人で作るときはがっつり使ってしまいそうです・・・。


テストコードのAssertの書き方とかも面白いのが書けそうですね。

string foo = null;
foo.Should.Be.Null();

みたいな。