Что делает атрибут C # CoClass? - PullRequest
40 голосов
/ 05 августа 2011

Я нашел код, похожий на следующий в сторонней библиотеке, которую мы используем.

[CoClass(typeof(BlahClass))]
public interface Blah : IBlah
{
}

Что именно это делает? Документация msdn не освещала предмет достаточно, чтобы я мог следовать.

1 Ответ

59 голосов
/ 05 августа 2011

Он объявляет, что интерфейс Blah предназначен для реализации определенным классом.Это означает, что вы можете легко сказать new Blah, и среда выполнения будет знать, какой объект создать - что обычно невозможно с интерфейсом.

Если вы посмотрите на сгенерированное объявление для BlahClass, вероятно, с ним будет связано Guid, которое можно использовать для создания экземпляра COM-объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...