Как начать разработку и внедрение интерфейса скрипта для моего приложения .NET?
Существует VSTA
(.NET эквивалент VBA
для COM
), но, насколько я понимаю, я бы платить лицензионный сбор за каждую установку моего приложения. Это открытый исходный код
приложение, так что это не будет работать.
Существует также, например, встраивание интерпретаторов (IronPython?), но я не понимаю, как это позволило бы подвергать «объектную модель» (см. ниже) внешним (или внутренним) сценариям.
подвопросы:
- Что такое история интерфейса сценариев в .NET? Это как-то тривиально сделать в .NET?
- например. Можно ли объявить некоторые объекты .NET в моем приложении и содержащиеся в них объекты доступными извне во время выполнения?
- Как внешние скрипты могут получить доступ к моему приложению (через объектную модель)?
Справочная информация:
Однажды я разработал и реализовал довольно сложный интерфейс сценариев для приложения Macintosh для сбора и анализа данных с масс-спектрометра (Mac OS, System 7 ) и позже COM-интерфейс для приложения Windows.
Оба были разработаны с "объектной моделью" и классами (которые могут иметь свойства). Это перегруженные слова, но
в интерфейсе сценариев объектная модель контекста по сути представляет собой иерархию содержания объектов определенных классов. Классы имеют свойства, списки содержащихся объектов и являются не только данными, но также могут иметь глаголы (действия / методы). Например. в случае Macintosh определенный объект приложения может содержать объект сбора данных, который имеет свойства для напряжений, используемых в приборе, и глагол fireLater
- все это видно из внешнего сценария.
Обратите внимание, что в обоих случаях классы / объекты в языке программирования, используемом для реализации приложения, не имели ничего общего с объектной моделью сценариев. В случае с Macintosh механизмы, используемые для реализации интерфейса сценариев, были определены Apple. Были также некоторые стандарты, определенные Apple, о том, как проектировать объектную модель. Например, стандартизированные имена для некоторых общих свойств в классах.
Или как в интерфейсах COM, представленных в приложениях Microsoft Office, где объект приложения можно использовать для добавления в свой список документов (с побочным эффектом создания представления документа в графическом интерфейсе).
Внешние сценарии могут создавать новые объекты в контейнере и перемещаться по содержимому иерархии в любой момент времени. В Macintosh сценарии кейсов могут быть написаны, например, на AppleScript или Frontier .
На Macintosh реализация интерфейса сценариев была очень сложной.
Поддержка этого в Metroworks 'Библиотека классов C ++ (имя меня сейчас ускользает) сделала ее намного проще.