C# 既定のパラメーター値は、コンパイル時の定数である必要があります。
メソッドの引数を省略できるオプション引数。この引数には、しばしば定数を入れたい時もありますが、static メソッドで定数を指定しようとすると怒られてしまう。
private static string Hoge(Encoding enc = Encoding.UTF8) { return "ほげ"; }これではだめですね。
null を入れてしまえば良い
これがスマートといえるかどうかはわかりませんが、こんな方法があります。メソッド自体にも意味がないですが、気にしないでください。private static string Hoge(Encoding enc = null) { enc = enc ?? Encoding.UTF8; return "ほげ"; }他にも方法があるのかな。