2010-06-01 105 views
0

我試圖寫一個返回我可以通過成的String.Format數組功能:VB.NET爲什麼我的函數不能返回數組?

Public Function ToArray() As Array 
    Dim vals As New ArrayList() 
    vals.Add(Me("district")) 
    vals.Add(Me("county")) 
    vals.Add(Me("route")) 
    vals.Add(Me("section")) 
    vals.Add(Me("beg_logmile")) 
    vals.Add(Me("end_logmile")) 
    vals.Add(Me("date_logged")) 
    vals.Add(Me("year_installed").year()) 
    vals.Add(Me("document")) 
    Return vals.ToArray() 
End Function 

Public Overrides Function toString() As String 
    Return String.Format("{0} {1} {2} {3} {4:f3} {5:f3} {6} {7} {8}", Me.ToArray()) 
End Function 

以上不起作用。我已經將它轉換爲String.Format(「{0}」,Me.ToArray()),它告訴我我有一個System.Object []

我一直無法找到在Google或SO上的答案,所以任何幫助,將不勝感激!

回答

4

你的函數聲明改成這樣:

Public Function ToArray() As Object() 

您正在使用的ToString()超載預計對象的數組,而不是Array類的一個實例。

+0

啊!完善!謝謝! – 2010-06-01 20:30:30

2

你的功能應該是這樣的:

Public Function ToArray() As Object() 
    Return New Object() {Me("district"), Me("county"), Me("route"), ... ,Me("document") } 
End Function 
0

嘗試使你的定義:

公共覆蓋功能的toString()作爲字符串()

相關問題