.Net библиотеки используются на любом языке .Net? - PullRequest
1 голос
/ 13 декабря 2010

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

Спасибо

Ответы [ 4 ]

2 голосов
/ 13 декабря 2010

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

С MSDN (CLS):

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

1 голос
/ 13 декабря 2010

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

1 голос
/ 13 декабря 2010

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

0 голосов
/ 13 декабря 2010

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

...