C#, J# и VB.NET можно ли написать класс в каждом и заставить его переменные взаимодействовать в одном приложении?

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

  •  15-09-2020
  •  | 
  •  

Вопрос

Мне задали этот вопрос в интервью, буду признателен за ваши ответы.

С уважением;Мохаммад Мохсин

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

Решение

Неясно, что именно имел в виду первоначальный интервьюер - но если бы он спрашивал, можно ли объединить код в .NET, написанный на C#, J# и VB.NET - ответ да — пока каждый класс находится в отдельной сборке.Вы не можете скомпилировать код нескольких языков в одну сборку.

Пока код, написанный в каждом из них, CLS-совместимый - вы должны иметь возможность ссылаться на объявленные типы и свойства независимо от языка.Языковая нейтральность — один из основных принципов проектирования .NET.

Чтобы ответить на ваш вопрос из комментариев...Когда вы компилируете код на любом языке .NET, он компилируется в общее промежуточное представление, в котором сохраняются метаданные и информация о типах.Таким образом, среда выполнения .NET может загружать и взаимодействовать с кодом, который может быть написан на разных языках .NET.Такая гибкость стала возможной благодаря нескольким функциям .NET, включая систему общих типов, CLR и MSIL.

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

Да, эти языки все компилируют общему промежуточному языку и все запускаются в управляемой структуре.

Если вы написали класс на каждом языке (у вас будет проект классов библиотеки для каждого), вы можете использовать эти классы вместе в любом проекте, используя язык, ориентированное на время выполнения .NET.

Это зависит от того, что вы имеете в виду.Доступ к любым государственным членам на классе можно получить доступ, не имело бы, на каком языке был написан класс. Им нужно будет компилировать в отдельные сборки.

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