我有以下代码
Module StringExtensions
<Extension()>
Public Function ToString(ByVal e As Elements) As String
Return e(0).ToString()
End Function
<Extension()>
Public Function ToString(ByVal e As List(Of Element)) As String
e.ToString("|")
End Function
<Extension()>
Public Function ToString(ByVal e As List(Of Element), ByVal delim As String = "|") As String
Dim s As String = ""
For Each e1 As Element In e
s = String.Join(delim, s, IIf(e1.Terminal, "!", "") & e1.Name)
Next e1
Return s.TrimStart(delim).TrimEnd(delim)
End Function
End Module
Class Elements
Inherits List(Of Element)
'...Various properties and methods
End Class
Class Element
'...Various Properties and methods
End Class
我的问题:
由于某种原因,只能调用带有 delim 变量的 ToString 扩展。VS2010 甚至不会显示还有其他的。我试过只有两个 ToString 之一没有变量输入
为什么是这样?
我正在使用具有不同类的类似设置,并且效果很好。据我所知,我没有在语法方面做任何错误的事情。