Устраните неоднозначность между ценой1 и ценой2.C#

Место общения программистов C#
Anonymous
Устраните неоднозначность между ценой1 и ценой2.

Сообщение Anonymous »

Конструктор класса Product принимает два параметра. Цена1 и Цена2 именно в этом порядке. Оба эти параметра имеют тип double. В результате конструктор будет иметь следующую подпись:

Код: Выделить всё

Product(double, double)
Это неоднозначно и часто является причиной ошибок, поскольку компилятор не может проверить, что правильные значения передаются в правильный параметр.

Код: Выделить всё

public sealed class Product
{
[JsonConstructor]
public Product(double price1, double price2)
{
Price1 = price1;
Price2 = price2;
}

[JsonProperty(PropertyName = "price1")]
public double Price1 { get; }

[JsonProperty(PropertyName = "price2")]
public double Price2 { get; }
}
Как изменить класс Product, чтобы избежать этой двусмысленности и чтобы компилятор мог проверить правильность вызова конструктора?

Подробнее здесь: https://stackoverflow.com/questions/790 ... and-price2

Вернуться в «C#»