Pregunta

Una pregunta rápida, he estado leyendo sobre algunas cosas .Net y la forma en algunas personas hablan de mí implica que una biblioteca .Net podría ser utilizado con múltiples lenguajes .NET. Tal vez sea sólo una ilusión de mi parte lol. Por ejemplo podría utilizar el Marco Tao, programado en C #, con el lenguaje .Net Boo?
La única manera de que pudiera explicarlo es si la biblioteca se compila a código de bytes para funcionar en .Net y se puede utilizar con cualquier lenguaje que también compila también. No sé mucho sobre .Net aunque ^ - ^

Gracias

¿Fue útil?

Solución

Cualquier assmebly (código IL y manifiesto) se pueden utilizar en cualquier lenguaje .NET - no importa qué idioma fue escrito en, siempre y cuando el código es compatible con CIL y se ajusta a la CLS (Common Language Specification)

MSDN (CLS):

Para totalmente interactúan con otros objetos, independientemente de la lengua que se llevaron a cabo en, los objetos deben exponer a las personas que llaman sólo aquellas características que son comunes a todas las lenguas que deben interoperar con. Por esta razón, se ha definido la especificación del lenguaje común (CLS), que es un conjunto de lenguaje básico características necesarias por muchas aplicaciones. Las reglas de CLS definen un subconjunto del sistema de tipos común; Es decir, todas las reglas que se aplican al sistema de tipo común se aplican a los CLS, excepto cuando normas más estrictas se definen en el CLS. El CLS ayuda a mejorar y garantizar la interoperabilidad de idiomas mediante la definición de un conjunto de características que los desarrolladores pueden confiar en que esté disponible en una amplia variedad de idiomas. El CLS también establece los requisitos para el cumplimiento CLS; esto ayuda a determinar si el código administrado se ajusta a los CLS y en qué medida una herramienta dada apoya el desarrollo de código administrado que utiliza CLS características.

Otros consejos

Si he entendido su pregunta correcta, entonces usted puede crear una biblioteca .NET en, por ejemplo, C # o Delphi Prism, compilarlo a IL y obtener un ensamblaje. A continuación, se puede hacer referencia y utilizar este montaje en su proyecto VB.NET.

Hay límites a la interoperabilidad. En particular, si el sistema de tipos que subyace en diferentes idiomas difiere significativamente. Pero Boo y C # son muy similares aparte de la sintaxis, por lo que no debería haber problemas entre ellos.

Utilizamos C # ayudante de bibliotecas en nuestro proyecto VB.Net sin ningún problema - Un solo proyecto sólo puede manejar una sola lengua, sino una solución puede contener varios proyectos de cada uno usando su propio idioma (o referencia de cualquier ensamblador escrito en cualquier lenguaje que compila a MSIL) con la funcionalidad de depuración completa VS

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top