codice in VB.NETVB.NET sintassi e stringhe Metodi di estensione
Module Utils
<Runtime.CompilerServices.Extension()> _
Public Sub Print(ByVal message As String)
Console.WriteLine(message)
End Sub
End Module
Public Class Foo
Public Sub New()
Dim test = "cucu"
test.Print() ' no problem: custom string extension method '
"cucu".Print() ' syntax error '
End Sub
End Class
1) Primo problema, preferirei essere in grado di usare "Cucu" .MyExtensionMethod(), così come test.MyExtensionMethod();
1') Sintassi come
"No Result".Print() ' Print is an extension method '
" No Result ".Trim() ' Trim is a framework method '
non funziona entrambi
Tuttavia, sintassi come
myTextBox.Text = "No Result".Translate() ' Translate is an extension method '
myTextBox.Text = " No Result ".Trim() ' Trim is a framework method '
funziona molto bene.
Quindi sembra una mancanza di coerenza del comportamento costante della stringa.
2) Dai un'occhiata ai COMMENTI (nella foto allegata). Le parole "personalizzato", "stringa" e "errore" sono evidenziate, tuttavia sono nei commenti, quindi dovrebbero essere verdi, non blu.
Perché questo? Quale soluzione alternativa?
EDIT:
dichiarata come "bug" in Microsoft Connect (anche se non è più che una "miss" sintattico) ...
EDIT 2:
Come ha osservato Hans Passant, di serie metodi di stringa, come "cucu".Trim()
non funziona neanche.
Um, la soluzione è assegnarla a una variabile come hai fatto con 'test'? – BoltClock
@BoltClock))))) ok, perché questo?)) – serhio
Come sei sicuro che sia già un bug? – BoltClock