使用VB.NET编写代码
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) 第一个问题,我希望能够使用 "cucu".MyExtensionMethod() 和 test.MyExtensionMethod();
1') 像下面这样的语法
"No Result".Print() ' Print is an extension method '
" No Result ".Trim() ' Trim is a framework method '
这两个都不起作用
然而,像下面这样的语法
myTextBox.Text = "No Result".Translate() ' Translate is an extension method '
myTextBox.Text = " No Result ".Trim() ' Trim is a framework method '
运行得非常好。
所以似乎存在一些字符串常量行为的一致性问题。
2)看一下附带图片中的注释(COMMENTS)。单词“custom”,“string”和“error”被突出显示,但它们在注释中,所以应该是绿色的,而不是蓝色的。
为什么会这样?有什么解决方法吗?
编辑:
在Microsoft Connect中被宣布为“错误”(即使只是一种句法上的“错误”)......
编辑2:
正如Hans Passant所指出的,标准的字符串方法,如"cucu".Trim()
也无法正常工作。
test
做的那样将它赋值给一个变量吗? - BoltClock