我正在编写一个用作 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 调用。有人可以解释为什么吗?有什么办法吗?我不希望这个类可以公开访问。
提前致谢。