C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

--/--/-- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
タグ:
トラックバック(-) | コメント(-) | このエントリーを含むはてなブックマーク
2011/03/05 02:08
Equals メソッドの引数の型は自分自身の型にできたんじゃなかろーか。

public class Object
{
    protected internal virtual bool Equals(object obj)
    {
        ...
    }
}

public static class ObjectExtension
{
    public static bool Equals<T>(this T source, T obj)
    {
        if (source == null)
        {
            // return (obj == null); にするのも面白い
            throw new NullReferenceException();
        }
        return source.Equals((object)obj);
    }
}


あまり深く考えずに言っているので、なんらかの不都合が生じるかもしれないけど。。。
つか、拡張メソッドのサポートを全ての言語に強いることになるからダメかな。
つかつか、やっぱし自分自身の型を示すキーワードが欲しくなる。












トラックバックURL↓
http://csharper.blog57.fc2.com/tb.php/296-c112894e

もし拡張メソッドがあったら - 検証
C#と諸々 もし最初から拡張メソッドがあったらこんな感じ。class Hoge{}class Fuga : Hoge{}class Piyo : Hoge{}class Program{&#160;&#160;&#160; static void Main(string[] args)&#160;&#160;&#160; {&#160...

2011.03.05 23:38 | C#と諸々

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。