Вопрос

Я создаю библиотеку C# и собираюсь предоставить ей COM-интерфейс.

Я понимаю, какие шаги необходимо предпринять для этого, т.е.

  1. Убедитесь, что GUID сборки назначен, например:[assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
  2. Убедитесь, что атрибут COMVible имеет значение True.
  3. Поместите атрибут GUID в класс, например. [GuidAttribute("4df74b15-d531-4217-af7e-56972e393904")]
  4. Зарегистрируйтесь с помощью Регазма.

Мой вопрос заключается в следующем.Если у меня определен частичный класс.Нужно ли мне добавлять GuidAttribute обоим этим классам?

На самом деле, думая об этом, я предполагаю, что этот вопрос применим к любому атрибуту (например, Serializable).

Любая помощь будет оценена по достоинству.Спасибо.

Это было полезно?

Решение

Если вы примените атрибут дважды к одному и тому же классу (неважно, в одном и том же файле или в двух разных файлах), то к классу атрибут будет применен дважды.Частичный класс, определенный в двух файлах, — это не два класса, а всего лишь один класс, частично определенный в нескольких файлах.Итак, нет, не повторяйте GuidAttribute в каждом файле снова.

Другие советы

Во время компиляции атрибуты определений частичного типа объединяются.Например, следующие объявления:

[System.SerializableAttribute]
partial class Moon { }

[System.ObsoleteAttribute]
partial class Moon { }

эквивалентны:

[System.SerializableAttribute]
[System.ObsoleteAttribute]
class Moon { }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top