2015-06-18 51 views
0

我有這樣的類,它從名單繼承:演員的IEnumerable(串),以我的子類列表(串)

Public Class TextLines : Inherits List(Of String) 


End Class 

現在,我怎麼能投IEnumerable(Of String)類型的返回值我自定義類?什麼,我試圖做

真實的例子:

Dim lines As TextLines 
lines = CType(File.ReadAllLines(Me.filepathB, Me.encodingB).ToList, TextLines) 

它拋出一個無效轉換異常。

回答

1

爲什麼你不這樣做?

Dim lines As New TextLines() 
lines.AddRange(File.ReadAllLines(Me.filepathB, Me.encodingB)); 

或暴露的構造函數,需要IEnumerable<T>

+0

謝謝,但我想通過理解爲什麼不能做轉換,以正確的方式解決它如果使用ToList函數可以將Ienumerable(的T)轉換爲List(T),並且我的類繼承自列表(的T),然後我不明白爲什麼不能施放它,或者如何解決它。無論如何感謝 – ElektroStudios

+1

@ElektroStudios其相同的論點,每個方形是一個矩形,但不是所有的矩形都是正方形。你不能投射到一個子類。 –