Вопрос

Быстрый вопрос, я читал о некоторых материалах .Net, и то, как некоторые люди говорят, подразумевает, что библиотека .Net может использоваться с несколькими языками .Net.Может быть, это просто принятие желаемого за действительное с моей стороны, лол.Например, могу ли я использовать фреймворк Tao, запрограммированный на C #, с Boo .Чистый язык?
Единственный способ , которым я мог бы это объяснить , - это если библиотека скомпилирована в байт - код для запуска .Net и может использоваться с любым языком, который также компилируется.Я не очень много знаю об этом.Чистый, хотя ^-^

Спасибо

Это было полезно?

Решение

Любой ассемблер (IL-код и манифест) может быть использован в любом .NET language - не имеет значения, на каком языке это было написано, при условии, что код совместим с CIL и соответствует CLS (Спецификация общего языка).

От MSDN (CLS):

Чтобы полностью взаимодействовать с другими объектами, независимо от языка, на котором они были реализованы, объекты должны предоставлять вызывающим только те функции, которые являются общими для всех языков, с которыми они должны взаимодействовать.По этой причине была определена спецификация общего языка (CLS), которая представляет собой набор базовых языковых функций, необходимых многим приложениям.Правила CLS определяют подмножество системы общих типов;то есть все правила, которые применяются к системе общих типов, применяются и к CLS, за исключением случаев, когда в CLS определены более строгие правила.CLS помогает улучшить и обеспечить языковую совместимость, определяя набор функций, на доступность которых разработчики могут положиться на самых разных языках.CLS также устанавливает требования к соблюдению CLS;они помогают вам определить, соответствует ли ваш управляемый код CLS и в какой степени данный инструмент поддерживает разработку управляемого кода, использующего функции CLS.

Другие советы

Если я правильно понял ваш вопрос, то вы можете создать библиотеку .NET, скажем, на C # или Delphi Prism, скомпилировать ее в IL и получить сборку.Затем вы можете ссылаться на эту сборку и использовать ее в своем проекте VB.NET.

Существуют ограничения на функциональную совместимость.В частности, если система типов, лежащая в основе разных языков, существенно отличается.Но Boo и C # очень похожи, если не считать синтаксиса, так что между ними не должно быть никаких проблем.

Мы используем вспомогательные библиотеки C # в нашем VB.Чистый проект без проблем - один проект может работать только с одним языком, но решение может содержать несколько проектов, каждый из которых использует свой собственный язык (или ссылаться на любую сборку, написанную на любом языке, который компилируется в MSIL) с полной функциональностью VS debugging

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top