将IEnumerable(Of Object)转换为Implements IEnumerable(Of Object)的类?

时间:2014-02-26 02:07:59

标签: asp.net vb.net

使用VB.NET,我有这个类

Public Class MyCollectionClass
  Implements IEnumerable(Of MyClass)

  Public Property MadeThisClassCuzINeedToSetThis() As String
  ' code here 
End Class

我想这样做,但得到一个例外,说我不能做这个演员。

Dim objColl As MyCollectionClass
objColl = CType(IEnumerable(Of MyClass), MyCollectionClass)

任何人都可以告诉我如何让它发挥作用。感谢。

1 个答案:

答案 0 :(得分:1)

请参阅此VB.NET/C# casting cheat sheetdocumentation on CType。主要问题是第一个参数应该是要转换的实例,而不是它的类型。这应该有效:

Dim myEnumerable As IEnumerable(Of MyObjectClass) = New MyCollectionClass()
Dim objColl = CType(myEnumerable, MyCollectionClass)
' objColl's type is inferred As MyCollectionClass

(请注意,由于MyClass是关键字,我假设您实际上有不同的类名,我在示例中将其更改为MyObjectClass