Что делает атрибут C# CoClass?

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

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

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

1 ответ

Решение

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

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

Другие вопросы по тегам