locked
Могут ли базовые/производные классы быть экспортированы в COM? RRS feed

  • Общие обсуждения

  • MVP Майкл Тейлор сформулировал ключевые моменты при использовании COM Interop в C #:

    1.COM обеспечивает работу только с интерфейсами, как в компонентной технологии, простое наследование поведения неприменимо.
    2.В COM, интерфейсы могут наследовать друг от друга. Однако.NET реализация, которая экспортирует интерфейс .NET в общую объектную модель, не поддерживает наследование. Поэтому, Вы должны копировать все члены основного интерфейса в наследуемом.
    3.Вышесказанная манипуляция с членами интерфейса не будет иметь никакого влияния на то, что видно в COM.
    4.Только программист может определить то, что выставлено общей объектной модели. complier не будет использовать отражение или что - нибудь еще, чтобы определить то, что должно быть выставлено.
    5.У всех классов общей объектной модели есть единственный, заданный по умолчанию интерфейс. Это - интерфейс, который обычно используется для объекта. Класс общей объектной модели может выставить другие интерфейсы, но клиент общей объектной модели должен тогда сделать запрос для интерфейса. В.NET первая общая объектная модель видимый интерфейс используется как заданный по умолчанию интерфейс для класса общей объектной модели.

    Похожий тред:
    COM Interop: Base class properties not exposed to COM
    • Перемещено Tagore Bandlamudi 1 октября 2010 г. 23:48 MSDN Forums consolidation (От:Visual C#)
    21 января 2010 г. 18:40