2017-05-01 63 views
0

我有以下代碼:環路通過與聲明

 Public Class Compress 


    Public Shared Sub delta() 
     Dim results As New Compress() 
     With results 
     .... 
     ... 
     ... 
     End With 
    end sub 
    end class 

如何訪問到的元素從聲明?我想循環是這樣的:

for each element in results 
    .... 
    Next 

所以,目前我用下面的語句語句之後添加的每個元素行:

   Sumtable.Rows(Sumtable.Rows.IndexOf(row))("Stdflow" & tmp) = Math.Round(results.flow, 2) 
       Sumtable.Rows(Sumtable.Rows.IndexOf(row))("Stdvol" & tmp) = Math.Round(results.vol, 2) 
       Sumtable.Rows(Sumtable.Rows.IndexOf(row))("k" & tmp) = Math.Round(results.k, 2) 
       Sumtable.Rows(Sumtable.Rows.IndexOf(row))("VOS" & tmp) = Math.Round(results.vos, 2) 
       Sumtable.Rows(Sumtable.Rows.IndexOf(row))("μ" & tmp) = Math.Round(results.μ, 2) 

但我想循環槽結果獲得一個由一個元素,以避免不必要的編碼

+1

對於結果中的每個元素都不起作用?顯示什麼錯誤? – Ryan

+0

錯誤BC32023表達式的類型爲'',它不是一個集合類型 – badscrool

+0

什麼是'Compress'應該表示它有項目,這些項目代表什麼?很有可能適當的行爲是繼承'Connection(Of T)',它已經實現了'IList(Of T)',並且爲你提供了所有的列表功能。 – jmcilhinney

回答

0

啊是的,你需要用正確的方法來裝飾你的類,使這項工作。實際上,你需要提供的是一個GetEnumerator()實現,它返回一些MoveNext()作爲Boolean和Current作爲T;然而,如果你不通過IEnumerable(Of T)做到這一點,人們會驚恐地尖叫。

問題中沒有足夠的信息來提供有關可枚舉需要做什麼的任何提示。

+0

@badscrool,我們無法向您提供詳細信息,因爲您向我們提供了任何信息。如果你想使用'For Each'循環枚舉一個對象,那麼你按照指示進行操作。正如答案中已經指出的,你沒有給我們足夠的信息讓我們再給你。 – jmcilhinney

+0

好吧,好吧,我認爲有一些esy-實施解決方案,因爲我很新。我不明白你想要什麼類型的信息。如果它對你有幫助,我可以把完整的代碼。 – badscrool