@Ostic
Программист - любитель

Почему игнорируются необязательные параметры?

Здравствуйте.
Определяю структуру:
public struct LogRecord
        {
            public string destignation;     
            public string startTrack;         
            public string endTrack;          
            public string RoutingMethod;
            public string numberOfCores;
            public string length; 

            public LogRecord(
                string destignation_ = "какое-то описание",
                string startTrack_ = "-",         
                string endTrack_ = "-",           
                string RoutingMethod_="что-то здесь", 
                string numberOfCores_ = "0",
                string length_ = "0" 
            )
            {
                destignation = destignation_;
                startTrack = startTrack_;  
                endTrack = endTrack_;    
                RoutingMethod = RoutingMethod_;    
                numberOfCores = numberOfCores_;
                length = length_;
            }
        }
LogRecord logRecord = new LogRecord();
logRecord.startPoint = "a";
logRecord.endPoint = "b";

заглядываю в отладчик, а у меня всё, кроме logRecord.startPoint = "a";
logRecord.endPoint = "b"; есть null
что не так?
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
twobomb
@twobomb
Потому-что ваш конструктор не отрабатывает, передайте ему хотя бы одно значение. Отрабатывает конструктор без параметров который нельзя переопределить. Если нужно чтобы эти значения были по умолчанию, то задайте их сразу соответствующим полям.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Значения по-умолчанию можно задать только через параметризированный конструктор. Либо статический метод типа
public struct LogRecord
{
            public static LogRecord Create()
            {
                return new LogRecord { destignation_ = "какое-то описание", ... };
            }
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы