我在VB6中有一个属性,我正试图将其转换为C#。其内容如下:
Public Property Get NewEnum() As IUnknown
'this property allows you to enumerate
'this collection with the For...Each syntax
Set NewEnum = m_coll.[_NewEnum]
End Propertym_coll是私有变量,现在是一个ArrayList,而不是以前的Collection。
m_coll是由我自己的一个类对象填充的。如您所见,此属性的类型为IUnknown。
在这一点上,我可能没有正确地思考,但是在C#中是否有类似于这种属性的东西呢?
发布于 2013-04-09 20:30:13
如果您希望能够对类执行一个预测(就像在NewEnum()中将IUnknown ()公开为vb6)一样,您可以让您的类实现IEnumerable -例如:
public class MyClass : IEnumerable
{
private List<string> items = new List<string>();
public MyClass()
{
items.Add("first");
items.Add("second");
}
public IEnumerator GetEnumerator()
{
return items.GetEnumerator();
}
}这样你就可以这样使用它了:
MyClass myClass =new MyClass();
foreach (var itm in myClass)
{
Console.WriteLine(itm);
}我为了简单起见使用了List<string>,但您可以使用List<yourCustomClass>
https://stackoverflow.com/questions/15911434
复制相似问题