c# enumerable class - compatible with VBA

后端 未结 2 1692
余生分开走
余生分开走 2021-01-05 09:29

Can anyone instruct me on how to code a C# enumerable class such that the \"for each\" construct in Excel VBA works properly? I tried this out with a test class called Peop

2条回答
  •  长情又很酷
    2021-01-05 10:06

    Try adding [DispId(-4)] to your GetEnumerator() method. This flags it to be the DISPID_NEWENUM member. In order for VBA to work with a collection using For Each, it needs to implement _newEnum via COM.

    This can be done by implementing an Enumerator and attributing it with the proper DispId. This is typically done via implementing a custom interface with this specified, though there are other mechanisms available.

提交回复
热议问题