【发布时间】:2012-08-22 07:10:37
【问题描述】:
我已经尝试了几种方法,每次尝试都会出错。
这是使用带有 asp.net(forms) 和 vb.net 的 .net 3.5。
例子:
Dim _registrations = New List(Of Integer)
Dim regList As String
Dim ListOfReg = _registrations.convertall(Of String)(Function(i As Integer) i.ToString())
regList = String.Join(",", ListOfReg.ToArray())
错误信息:
Overload resolution failed because no Public 'convertall' can be called with these arguments:
'Public Function ConvertAll(Of String)(converter As System.Converter(Of Integer,String)) As System.Collections.Generic.List(Of String)':
Argument matching parameter 'converter' cannot convert from 'VB$AnonymousDelegate_0(Of Integer,String)' to 'Converter(Of Integer,String)'.
其他尝试:
regList = String.Join(",", (_registrations.Select(Function(reg) reg.ToString()).ToArray()))
错误信息:
Public member 'Select' on type 'List(Of Integer)' not found.
感谢任何帮助。
谢谢。
【问题讨论】:
-
尝试在 vb 文件顶部添加“Imports System.Linq”,看看是否仍有错误。
-
添加后我仍然得到这两个错误。
-
我改变了答案,新的解决方案应该适用于 3.5。
-
再想一想,您的“其他尝试”没有任何问题,对我来说效果很好。很抱歉收到垃圾邮件。
-
一旦我将变量移动到它工作的函数范围内,由于它是类中的私有变量,似乎存在范围问题。谢谢。