Ответ 1
Это наложение имени типа на более короткое имя. Тот же синтаксис также может использоваться для псевдонимов пространств имен. См. с помощью директивы.
(Обновлено в ответ Ричарду)
Я видел этот оператор С# в примере кода:
using StringFormat=System.Drawing.StringFormat;
Что это значит?
Это наложение имени типа на более короткое имя. Тот же синтаксис также может использоваться для псевдонимов пространств имен. См. с помощью директивы.
(Обновлено в ответ Ричарду)
Теперь с псевдоним пользователь может использовать StringFormat для ссылки на System.Drawing.StringFormat. Это полезно, если вы не хотите использовать все пространство имен (например, в случае проблем с конфликтом имен).
Возможно, другой, несвязанный StringFormat объявлен в другом пространстве имен, таком как Acme.Stuff. Если это так, это может вызвать путаницу:
using System.Drawing; // Contains StringFormat type.
using Acme.Stuff; // Contains another StringFormat type.
private void Foo()
{
StringFormat myFormat = new StringFormat(); // which one to use?
}
Алиасинг с с использованием в StringFormat = System.Drawing.StringFormat устраняет некоторые путаницы.
Это определит псевдоним для System.Drawing.StringFormat.
То же самое, что и в этом примере:
using SQL = System.Data.SqlServer;
SQL.SqlConnection sql = new SQL.SqlConnection();
Это означает, что вы используете StringFormat в качестве псевдонима для System.Drawing.StringFormat;
Это псевдоним для пространства имен
Ключевое слово using используется для импорта пространств имен или классов псевдонимов или для управления областью на одноразовых объектах. Здесь мы говорим об использовании пространства имен.
using StringFormat=System.Drawing.StringFormat;
Способ использования здесь был немного необычным в С#, но более распространенным в операторах импорта Java. То, что он делает, это предоставить псевдоним StringFormat без импорта всего пространства имен System.Drawing. Некоторые люди с фоном Java, как и proactvely, импортируют только используемые классы, а не целые anmespaces (aka Java-пакеты). Возможно, вы активно избегаете конфликтов имен, если импортируете только определенные имена классов, но это не очень распространено в С#, а Visual Studio не поощряет его, скажем, Netbeans для Java.
Более распространенное использование псевдонимов - это разрешить имена классов сокращенному псевдониму, когда есть конфликт имен.
using System.Drawing;
using AwesomeCompany.ReallyAwesomeStuff.AwesomeLibrary.Drawing;
/* AwesomeCompany.ReallyAwesomeStuff.AwesomeLibrary.Drawing has a StringFormat class */
using AwesomeStringFormat = AwesomeCompany.ReallyAwesomeStuff.AwesomeLibrary.Drawing.Stringformat;
using StringFormat = System.Drawing.StringFormat;
public class AwesomeForm() : Form
{
private AwesomeForm()
{
AwesomeStringFormat stringFormat = new AwesomeStringFormat();
stringFormat.Color = Color.Red;
/* etc */
}
}