Получение атрибута helpstring, примененного к свойствам C #, предоставляемым через интерфейсы COM - PullRequest
7 голосов
/ 12 июля 2011

В настоящее время я работаю над библиотекой, которая будет доступна для COM для использования в устаревшем проекте, который обновляется.Я создаю интерфейсы, которые должны быть представлены, и у них есть свойства для них с типами long, int и т.д.Используя атрибут DescriptionAttribute, я могу получить строки справки, сгенерированные в .tlb для интерфейсов, классов и методов, но по какой-то причине он, похоже, не хочет работать со свойствами.Есть ли в любом случае получить строку помощи, сгенерированную в выводе TLB для свойств?

1 Ответ

9 голосов
/ 12 июля 2011

Вы должны поместить атрибут на геттер и сеттер индивидуально. Как это:

using System;
using System.ComponentModel;
using System.Runtime.InteropServices;

namespace ClassLibrary1 {
    [ComVisible(true), InterfaceType(ComInterfaceType.InterfaceIsDual)]
    public interface IFoo {
        int property {
            [Description("prop")]
            get;
            [Description("prop")]
            set;
        }
    }
}

Повторять описание неуклюже, но также требуется в IDL.

...