В библиотеке сторонних разработчиков, которую мы используем, я нашел код, похожий на следующий.
[CoClass(typeof(BlahClass))]
public interface Blah : IBlah
{
}
Что это делает? Документация msdn не освещала предмет, достаточный для меня.
Ответ 1
Он объявляет, что интерфейс Blah предназначен для реализации определенным классом. Это означает, что вы можете удобно сказать new Blah, и среда выполнения будет знать, какой объект создать - что-то, что обычно невозможно с интерфейсом.
Если вы посмотрите на сгенерированное объявление для BlahClass, у него предположительно будет связанный с ним Guid, который может быть использован для создания экземпляра COM-объекта.