ich eine Erweiterung in VB.NET für String schrieb hinzufügen (eines der Argumente müssen, damit ich nicht für eine neue Zeile Zeichen verwenden), um eine AppendFormattedLine
Methode:Wie portiere ich eine Erweiterung in VB.NET zu 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
Die 'args' Parameter des vierten Verfahrens sollte als' params object [] args' deklariert werden. – LukeH
Danke luke. Darf ich nachfragen, warum das so sein sollte? – Anders
@Anders: vor allem, damit es mit der C# -Signatur übereinstimmt. Zweitens, weil es zusätzlichen syntaktischen Zucker liefert, können Sie einfach eine Menge von Objekten als eigenes Argument an die Methode übergeben, anstatt ein Array zu konstruieren. –