我有一个从另一个接口继承的接口,如下所示:
[
object,
uuid(72A6E473-9956-4856-A335-B9169359AACE),
dual,
nonextensible,
pointer_default(unique)
]
interface IA : IDispatch
{
HRESULT MethodA();
}
[
object,
uuid(378846D3-7E24-4DAE-B4DF-69AA4B0C1AA9),
dual,
nonextensible,
pointer_default(unique)
]
interface IB : IA
{
HRESULT MethodB();
}
[
object,
uuid(4C187526-6809-4A57-A3ED-626E0B36F7DB),
dual,
nonextensible,
pointer_default(unique)
]
interface ICollection : IDispatch
{
HRESULT GetObject([out, retval] IA** ppValue);
}
ICollection 实现将返回一个实现 IB 的对象。该对象将通过调度接口提供对 MethodA 和 MethodB 的访问。运行时不会添加其他成员。
在这种情况下是否允许 IA 上的不可扩展属性?