实现IDispatch的“公共”与“内部”C#类

时间:2013-11-15 20:19:43

标签: idispatch interopservices

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

public class IEContainer :
        IOleClientSite,
        IOleInPlaceSite
{

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

}

这很好用,只有当类是“public”时才会调用Idispatch_AmbiantDlControl方法。如果我将其声明为“internal”,则不再接收IDispatch调用。有人可以解释原因吗?有什么办法吗?我不希望这个课程可公开访问。

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试将“public”更改为“private”

相关问题