Я работаю с некоторым унаследованным кодом C++, и мне нужно расширить интерфейс. Например, текущие интерфейсы:Правильное расширение COM-интерфейса (IDL)
[
object,
uuid(guid),
version(1.0),
dual,
nonextensible,
oleautomation
]
interface IInfo : ITask {
// Methods here
}
[
object,
uuid(guid),
version(1.0),
dual,
nonextensible,
oleautomation
]
interface IExtendedInfoTask : IInfo {
// Methods here
}
То, что я хотел бы расширить, это интерфейс IInfo. Теперь из моего понимания правильный способ сделать это - создать интерфейс IInfo2, который наследует интерфейс IInfo, однако мне нужно, чтобы мой IExtendedInfoTask наследовал от этого IInfo2. Изменение его текущего наследования нарушит существующий интерфейс, не так ли?
Будет ли подходящий способ создать IExtendedInfoTask, который расширяет IInfo2 и дублирует методы IExtendedInfoTask?
Разве это не вопрос IDL, а не C++? – 2009-12-08 15:20:55
Извините, да, вы правы. – Kyle