Open1
C# 拡張メソッド
拡張メソッドとは
継承を使わずに、クラスに対してメソッドを追加する仕組み
- 拡張メソッドにするには、staticクラスのstaticメソッドとする
- 第1引数に、
this 拡張するクラス名
を指定する - 慣例として、クラス名は
拡張するクラス名Extensions
とする - 拡張メソッドと同名のメソッドが既に存在する場合、拡張メソッドは無視される(元のクラスを上書きできない)
internal static class StringExtensions
{
public static string Repeat(this string str, int count)
{
var builder = new StringBuilder();
for (var i = 0; i < count; i++)
{
builder.Append(str);
}
return builder.ToString();
}
}
var str = "test";
Console.WriteLine(str.Repeat(3)); // testtesttest