https://docs.microsoft.com/en-us/previous-versions/ms379574(v=vs.80)
ссылка на статью
public class GraphNode<T> : Node<T>
{
private List<int> costs;
public GraphNode() : base() { }
public GraphNode(T value) : base(value) { }
public GraphNode(T value, NodeList<T> neighbors) : base(value, neighbors) { }
new public NodeList<T> Neighbors // зачем здесь new?
{
get
{
if (base.Neighbors == null)
base.Neighbors = new NodeList<T>();
return base.Neighbors;
}
}
public List<int> Costs
{
get
{
if (costs == null)
costs = new List<int>();
return costs;
}
}
}
Это не оператор new
, а модификатор new
, показывающий компилятору, что программист знает о том, что перекрывает (ре-декларирует) свойство/метод/т.п., существующее под таким же именем в базовом классе, и делает это намеренно.
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new-modifier
Три вида new
:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new
Виртуальный выделенный сервер (VDS) становится отличным выбором
Делал модульные тесты для проекта ASPNET CORE
Необходимо написать простейший проводник или файловый менеджер, который будет работать с НМЖД и внешним USB накопителемДолжны быть функции...