【问题标题】:"public" vs. "internal" C# class implementing IDispatch实现 IDispatch 的“公共”与“内部”C# 类
【发布时间】:2013-11-29 08:48:13
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: idispatch interopservices


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-12-16
      • 2010-10-17
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      • 2014-01-01
      • 2012-01-03
      • 2017-02-25
      相关资源
      最近更新 更多