今回はC#の拡張メソッドについて書きたいと思います。これも何番煎じくらいかもうわかりません。私の備忘録も兼ねています。まとめ拡張メソッド自分が作ったクラスにメソッドを追加するのは簡単ですが、他人が作ったクラスにメソッドを追加したいと思ったことはないでしょうか?通常であれば、そのクラスの作者にお願いしないと、メソッドの拡張は実現できませんが、C#は拡張メソッドという機能を使うと、簡単に実現できます。そのメソッドはインスタンスメソッドとして使うことが出来ます。構文は以下になります。}用途があるのかわかりませんが、string型の文字列の末尾に「※ただしイケメンに限る」を追加するという拡張メソッドをstringクラスに追加してみたいと思います。"今日はポイント5倍デーです。"今日はポイント5倍デーです。";Console.Write(s.AddIkemen());Console.ReadLine();}}結果は以下のとおりです。今日はポイント5倍デーです。※ただしイケメンに限る1今日はポイント5倍デーです。※ただしイケメンに限るインターフェースにも拡張メソッド全く同様の手順でインターフェースにも拡張メソッドを追加できます。こちらのほうがよく使われていますね。ここでIEnumerableインターフェースを拡張する例を考えてみます。IEnumerable<string>の場合、リストすべての文字列の末尾に「※ただしイケメンに限る」を追加してみます。"この商品は10%オフです。"ご自由にお取りください。"ご試食はこちらからお願いします。{"この商品は10%オフです。","ご自由にお取りください。","ご試食はこちらからお願いします。{Console.WriteLine(x);}Console.ReadLine();}}結果は以下のようになります。この商品は10%オフです。ご自由にお取りください。ご試食はこちらからお願いします。※ただしイケメンに限る123この商品は10%オフです。※ただしイケメンに限るご自由にお取りください。※ただしイケメンに限るご試食はこちらからお願いします。※ただしイケメンに限る絶望感たっぷりですね。まとめ拡張メソッド便利ですね。例が適切でなかったかもしれません。便利なのですが、あまり使いすぎると、どのクラスやインターフェースにどのメソッドが拡張されているのかわからなくなるような気がします。素敵な拡張メソッドライフを。雑誌等の執筆依頼を受付しております。役に立たなかった1人がこの投稿は役に立ったと言っています。コメントをキャンセルメールアドレスは表示されません。Reserved.本サイトに掲載されている社名、製品名、サービス名等は各社の商標または登録商標です。プライバシーポリシーお問い合わせ。