如何处理VB.NET中的每个超类属性?
我看到这样的C代码,它允许我在类属性上使用foreach循环如何处理VB.NET中的每个超类属性?,vb.net,foreach,ienumerable,Vb.net,Foreach,Ienumerable,我看到这样的C代码,它允许我在类属性上使用foreach循环 public class EstimateDetailsModel : IEnumerable<string> { public string Dma { get; set; } public string Callsign { get; set; } public string Description { get; set; } public IEnumerator<strin
public class EstimateDetailsModel : IEnumerable<string>
{
public string Dma { get; set; }
public string Callsign { get; set; }
public string Description { get; set; }
public IEnumerator<string> GetEnumerator()
{
yield return Dma;
yield return Callsign;
yield return Description;
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
}
公共类EstimateDetailsModel:IEnumerable
{
公共字符串Dma{get;set;}
公共字符串调用符号{get;set;}
公共字符串说明{get;set;}
公共IEnumerator GetEnumerator()
{
收益率;
收益回报呼号;
收益率-收益率描述;
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
返回此.GetEnumerator();
}
}
请帮忙。如何使用vb.net制作类似的内容 这里提供的是一个C#迭代器方法(包含
yield return
的方法)。不幸的是,目前VB.Net没有类似的功能。最简单的模拟方法是建立一个列表(字符串)
并返回该列表
Public Function GetEnumerator() As IEnumerable(Of String) _
Implements IEnumerable(Of String).GetEnumerator
Dim list As New List(Of String)()
list.Add(Dma)
list.Add(Callsign)
list.Add(Description)
return list
End Function
Public Function GetEnumerator2() As IEnumerable _
Implements IEnumerable.GetEnumerator
Return GetEnumerator()
End Function
这并不完全等同于C版本。主要是因为它将及时执行,而不是延迟执行。但最终效果大致相同
编辑
啊,我忘了Vb.Net在最新版本(Visual Studio 2012)中添加了迭代器支持。如果您使用的是该版本的Visual Studio,则可以执行以下操作
Public Iterator Function GetEnumerator() As IEnumerable(Of String) _
Implements IEnumerable(Of String).GetEnumerator
Yield Dma
Yield Callsign
Yield Description
End Function
这里提供的是一个C#迭代器方法(包含
yield return
的方法)。不幸的是,目前VB.Net没有类似的功能。最简单的模拟方法是建立一个列表(字符串)
并返回该列表
Public Function GetEnumerator() As IEnumerable(Of String) _
Implements IEnumerable(Of String).GetEnumerator
Dim list As New List(Of String)()
list.Add(Dma)
list.Add(Callsign)
list.Add(Description)
return list
End Function
Public Function GetEnumerator2() As IEnumerable _
Implements IEnumerable.GetEnumerator
Return GetEnumerator()
End Function
这并不完全等同于C版本。主要是因为它将及时执行,而不是延迟执行。但最终效果大致相同
编辑
啊,我忘了Vb.Net在最新版本(Visual Studio 2012)中添加了迭代器支持。如果您使用的是该版本的Visual Studio,则可以执行以下操作
Public Iterator Function GetEnumerator() As IEnumerable(Of String) _
Implements IEnumerable(Of String).GetEnumerator
Yield Dma
Yield Callsign
Yield Description
End Function