私は(私は改行文字の引数のいずれかを使用する必要はありません)AppendFormattedLine
メソッドを追加するのStringBuilderのためのVB.NETでの拡張を書いた:ここVB.NETの拡張機能をC#に移植するにはどうすればよいですか?
Imports System.Runtime.CompilerServices
Public Module sbExtension
<Extension()> _
Public Sub AppendFormattedLine(ByVal oStr As System.Text.StringBuilder, _
ByVal format As String, _
ByVal arg0 As Object)
oStr.AppendFormat(format, arg0).Append(ControlChars.NewLine)
End Sub
<Extension()> _
Public Sub AppendFormattedLine(ByVal oStr As System.Text.StringBuilder, _
ByVal format As String, ByVal arg0 As Object, _
ByVal arg1 As Object)
oStr.AppendFormat(format, arg0, arg1).Append(ControlChars.NewLine)
End Sub
<Extension()> _
Public Sub AppendFormattedLine(ByVal oStr As System.Text.StringBuilder, _
ByVal format As String, _
ByVal arg0 As Object, _
ByVal arg1 As Object, _
ByVal arg2 As Object)
oStr.AppendFormat(format, arg0, arg1, arg2).Append(ControlChars.NewLine)
End Sub
<Extension()> _
Public Sub AppendFormattedLine(ByVal oStr As System.Text.StringBuilder, _
ByVal format As String, _
ByVal ParamArray args() As Object)
oStr.AppendFormat(format, args).Append(ControlChars.NewLine)
End Sub
End Module
第四の方法の 'args'パラメータはのparamsオブジェクト[] args''として宣言する必要があります。 – LukeH
ありがとうございました。なぜこれがすべきかについて私は尋ねることができますか? – Anders
@アンダー:まず、それがc#のシグネチャと一致するようにします。第2に、構文上の余分な砂糖を提供するため、配列を作成するのではなく、オブジェクトの束を独自の引数としてメソッドに渡すことができます。 –