@Iv_and_S

System.io mscorlib или system в C#?

Есть пространство имен System.IO , оно содержится в mscorlib.dll и system.dll. Обе .dll подключаются автоматически при создании проекта.
Каким образом в директиве using System.IO указать что нужно использовать данное пространство имен из например mscorlib.dll? каким образом определяется из какой .dll использовать пространства имен?
(дело в том что в mscorlib.dll есть кое что чего нет в system.dll...).
  • Вопрос задан
  • 547 просмотров
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C#
Не совсем понятно, зачем вам это. Когда вы пишете using System.IO в текущий скоуп добавляются сущности из всего System.IO, не важно из какой сборки (иными словами, со всех сборок сразу). В этом и смысл пространств имён в дотнете - они предствляют собой способ логического деления проекта и библиотек (в отличие от физического деления на сборки). Если вы не хотите подключать всё, подключите конкретный класс таким образом:
using StreamReader = System.IO.StreamReader;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ArXen42
@ArXen42
Пространства имен это по сути просто синтаксический сахар (ну и немного метаданных вроде), для .net это просто префиксы имен типов. Т.е. то, что выглядит как MyClass, находящийся в пространстве имен MyNamespace, для CLR является типом с именем MyNamespace.MyClass, поэтому MyNamespace.MyClass может быть в одной сборке, а MyNamespace.AnotherClass в другой.
Ответ написан
Комментировать
yarosroman
@yarosroman Куратор тега C#
C# the best
https://msdn.microsoft.com/en-us/library/ms173212.aspx

Нормальное поведение, что пространства имен из разных сборок объединяются в одно, по ссылке выше, это для того, если у вас есть совпадающие имена в одном пространстве, но разных сборках. Все равно подключаются обе, без system.dll очень тяжело чего то написать. Просто в mscorlib.dll нет управляемого кода, это фактически и есть CLR, в system просто вынесли более высокоуровневые вещи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы