首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB6 to C#:IUnknown

VB6 to C#:IUnknown
EN

Stack Overflow用户
提问于 2013-04-09 20:02:54
回答 1查看 1.3K关注 0票数 2

我在VB6中有一个属性,我正试图将其转换为C#。其内容如下:

代码语言:javascript
复制
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 Property

m_coll是私有变量,现在是一个ArrayList,而不是以前的Collection

m_coll是由我自己的一个类对象填充的。如您所见,此属性的类型为IUnknown

在这一点上,我可能没有正确地思考,但是在C#中是否有类似于这种属性的东西呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-09 20:30:13

如果您希望能够对类执行一个预测(就像在NewEnum()中将IUnknown ()公开为vb6)一样,您可以让您的类实现IEnumerable -例如:

代码语言:javascript
复制
   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();
        }
    }

这样你就可以这样使用它了:

代码语言:javascript
复制
  MyClass myClass =new MyClass();
            foreach (var itm in myClass)
            {
                Console.WriteLine(itm);
            }

我为了简单起见使用了List<string>,但您可以使用List<yourCustomClass>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15911434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档