Забудем ужасы C /CLI и рассмотрим альтернативу. При всей простоте использования технологии P/Invoke, она, увы, пригодна лишь для использования библиотек, предоставляющих функции в C-стиле. Объектно-ориентированное же взаимодействие с нативным кодом традиционно реализовывалось средствами C /CLI, который не совместим с .NET Core (пока) и с не-Windows платформами (вообще). С движением .NET на другие платформы возникает проблема взаимодействия с неуправляемой частью приложения, которую как-то надо решать. В докладе будет представлено решение, которое: позволяет двухстороннее прозрачное взаимодействие между C и C# на уровне интерфейсов, которые могут реализовывать как классы C#, так и классы C ; обеспечивает контроль использования памяти на основе подсчёта ссылок; не изобретает новый велосипед, а не совсем традиционно использует давно проверенные временем и тысячами приложений технологии и принципы; на текущий момент успешно используется в проекте Avalonia для взаимодейств
Hide player controls
Hide resume playing