1

我正在编写一个用作 IE WebBrowser 容器的类,它也将实现 IDispatch 接口,因此它的一些方法具有 DispID 属性:

public class IEContainer :
        IOleClientSite,
        IOleInPlaceSite
{

...
        [DispId(HTMLDispIDs.DISPID_AMBIENT_DLCONTROL)]
        public int Idispatch_AmbiantDlControl()
        {
            return (int)m_nFlags;
        }
...

}

这可以正常工作,并且仅当类为“公共”时才调用 Idispatch_AmbiantDlControl 方法。如果我将其声明为“内部”,则不再收到 IDispatch 调用。有人可以解释为什么吗?有什么办法吗?我不希望这个类可以公开访问。

提前致谢。

4

1 回答 1

0

尝试将“公共”更改为“私人”

于 2013-11-15T20:25:32.530 回答