C #, J # et VB.net est-il possible d'écrire une classe dans chacun et de faire interagir ses variables dans une application?

StackOverflow https://stackoverflow.com/questions/3239475

  •  15-09-2020
  •  | 
  •  

Question

On m'a posé cette question dans une interview apprécierait vos réponses.

Cordialement; Mohammad Mohsin

Était-ce utile?

La solution

On ne sait pas exactement ce que l'intervieweur original signifiait - mais s'il demandait s'il est possible de combiner code dans .net écrit en C #, j # et vb.net - la réponse est Oui - tant que chaque classe est dans un assemblage séparé. Vous ne pouvez pas compiler le code de plusieurs langues dans un seul assemblage.

Tant que le code écrit dans chacun est CLS conforme - Vous devriez pouvoir se référer aux types et aux propriétés déclarées quelle que soit la langue. La neutralité de la langue est l'un des principes de conception de base de .NET.

Pour répondre à votre question des commentaires ... Lorsque vous compilez le code I n'importe quelle langue .NET, il est compilé dans une représentation commune intermédiaire qui préserve les informations de métadonnées et de type. Le temps d'exécution .NET est donc capable de charger et interopérer le code qui aurait pu être écrit dans différentes langues .NET. Cette flexibilité est rendue possible par plusieurs fonctionnalités de .NET, y compris le système de type commun, le CLR et le MSIL.

Autres conseils

Oui, ces langues compilent toutes à une langue intermédiaire commune et toutes gérées dans le cadre géré.

Si vous avez écrit une classe dans chaque langue (vous auriez un projet de bibliothèque de classe pour chacun), vous pouvez utiliser ces classes ensemble dans n'importe quel projet à l'aide d'une langue ciblant le temps d'exécution .NET.

Cela dépend de ce que vous voulez dire.Toutes les membres du public sur une classe sont accessibles, peu importe la langue de la classe. Ils auraient besoin d'être compilés dans des assemblées séparées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top