有一个用C++写的类库,其中一个接口是需要客户端实现的:
interface IXXX;[
object,
uuid(C200D8FD-1079-428C-8BC8-2E2538B99E87),
dual,
nonextensible,
pointer_default(unique)
]
interface IXXXs : IDispatch
{
[propget] 
HRESULT Count([out, retval] LONG* Result);
[propget, id(DISPID_VALUE)] 
HRESULT Item([in] LONG Index, [out, retval] IXXX** Result);
[propget, id(DISPID_NEWENUM)] 
HRESULT _NewEnum([out, retval] IUnknown** Result);
};
这个接口是一个只读的集合接口,没有Add和Remove。
我现在要在VB中实现这个接口,我新建了一个类模块,写上
Implements IXXXs 
但是编辑窗内没有出现IXXXs,无法添加IXXXs的成员,而且编译的时候报
Compile error:
Bad interface for Implements: method has underscore in name
就是方法名中有下划线,应该指的是_NewEnum,但是_NewEnum不就是为了VB的foreach语句服务的吗?请问大家,我有没有办法在VB中实现这个接口?或者需要去掉_NewEnum或者改名为NewEnum?