循环使用声明

时间:2017-05-01 02:59:53

标签: vb.net foreach with-statement

我有以下代码:

     Public Class Compress


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

如何从with语句访问元素?我想像这样循环:

    for each element in results
    ....
    Next

所以,目前我在with语句之后使用以下语句来添加行中的每个元素:

                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 个答案:

答案 0 :(得分:0)

啊,是的,你需要使用正确的方法来装饰你的课程。

 Public Class Compress(Of T)
     Implements IEnumerable(Of T)

     'Provide implementation
 End Class

实际上,你需要提供的是GetEnumerator()的一个实现,它返回一个具有MoveNext()As Boolean和Current as T的东西;然而,如果你不通过IEnumerable(Of T)这样做,人们会惊恐地尖叫。

问题中的信息不足以提供有关您的可枚举需求的任何提示。