Я знаю, что в C # в целом вы не можете создать экземпляр абстрактного класса или интерфейс.Может кто-нибудь помочь мне понять этот код (он компилируется без каких-либо ошибок).
Shell32.Shell shObj = new Shell32.Shell();
Shell32.Shell
- это интерфейс из 'shell32.dll'
Я попробовал следующее, но это сделалНЕ компилировать:
[CoClass(typeof(ShellClass))]
[Guid("286E6F1B-7113-4355-9562-96B7E9D64C54")]
public interface OtherShell : Shell
{
}
OtherShell shObj = new OtherShell();
Обновление:
Чтобы это работало, мне просто нужно было добавить атрибут ComImport
и изменить совместный класс (я не могу выбратьShell32.ShellClass).
Спасибо, ребята!