Я вот прочитал про #region
и #endregion
что они нужны для группировки членов классов, но более подробно не нашел. Хочу понять более подробно.
Директива #region
позволяет указать блок кода, который можно
разворачивать и сворачивать с помощью функции структурирования в
редакторе кода Visual Studio
. В больших файлах кода очень удобно
сворачивать или скрывать одну или несколько областей, чтобы не
отвлекать внимание от той части файла, над которой в настоящее время
идет работа.
Пример
#region MyClass definition
public class MyClass
{
static void Main()
{
}
}
#endregion
Источник
Представьте, что у вас есть класс, который наследует несколько интерфейсов.
Вы реализуете все необходимые методы, при этом группируете их при помощи регионов.
Вот это, пожалуй, самый типовой кейс, который подразумевается, когда говорят о группировке при помощи регионов.
Второй типовой пример -- сокрытие в регионах вложенных классов.
public class MyClass : IFoo, IBar
{
# region [ IFoo implementation ]
public void Foo1()
{
throw new System.NotImplementedException();
}
public void Foo2()
{
throw new System.NotImplementedException();
}
public void Foo3()
{
throw new System.NotImplementedException();
}
#endregion
#region [ IBar implementation]
public int Bar1()
{
throw new System.NotImplementedException();
}
public string Bar2()
{
throw new System.NotImplementedException();
}
#endregion
}
public interface IFoo
{
void Foo1();
void Foo2();
void Foo3();
}
public interface IBar
{
int Bar1();
string Bar2();
}
Я часто использую #region
, чтобы спрятать большие куски boilerplate-кода. Хороший пример — реализация dependency property в WPF. Такое множество кода:
#region dependency property FieldValue Value
public FieldValue Value
{
get { return (FieldValue)GetValue(ValueProperty); }
set { SetValue(ValueProperty, value); }
}
public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register("Value", typeof(FieldValue), typeof(SingleField));
#endregion
на самом деле совершенно избыточно, поэтому имеет смысл свернуть его, чтобы не тратить на него время, и видеть лишь
[dependency property FieldValue Value]
Виртуальный выделенный сервер (VDS) становится отличным выбором
В моём проекте есть сервис WCF, есть интерфейс описывающий ServiceContract (IMainHost), и есть класс на основе этого интерфейса (MainHost)И всё отлично работает
Как опубликовать пост c картинкой из внешнего ресурса через ВК API (JS)? Как правильно прописать параметр attachments что-бы прикрепилась картинка...