Size: a a a

.NET Chat Убежище

2017 December 13

Dv

Dr. Friedrich von Never in .NET Chat Убежище
У тебя оно не вычисляемое?
источник

RB

Roman Bukin in .NET Chat Убежище
Dr. Friedrich von Never
get-only свойства бывают разные.
Ну просто объект какой то установить который в конструкторе приехал
источник

RB

Roman Bukin in .NET Chat Убежище
Dr. Friedrich von Never
У тебя оно не вычисляемое?
нет
источник

Dv

Dr. Friedrich von Never in .NET Chat Убежище
То есть вопрос про
private DateTime X { get; } = new DateTime();

vs
private readonly DateTime X = new DateTime();

?
источник

Dv

Dr. Friedrich von Never in .NET Chat Убежище
Однозначно второе :)
источник

RB

Roman Bukin in .NET Chat Убежище
Dr. Friedrich von Never
То есть вопрос про
private DateTime X { get; } = new DateTime();

vs
private readonly DateTime X = new DateTime();

?
public class SomeClass
{
   public SomeClass(ISomeInterface someInterface)
   {
       SomeInterface = someInterface ?? throw new ArgumentNullException(nameof(someInterface));
   }

   private ISomeInterface SomeInterface { get; }
}

vs
public class SomeClass
{
   public SomeClass(ISomeInterface someInterface)
   {
       _someInterface = someInterface ?? throw new ArgumentNullException(nameof(someInterface));
   }

   private readonly ISomeInterface _someInterface;
}
источник

RB

Roman Bukin in .NET Chat Убежище
Dr. Friedrich von Never
Однозначно второе :)
Ну вот и я за него топлю)
источник

RB

Roman Bukin in .NET Chat Убежище
Мне тут на работе обратное доказывают)
источник

Dv

Dr. Friedrich von Never in .NET Chat Убежище
Ок, а в чём они видят преимущество свойства?
источник

RB

Roman Bukin in .NET Chat Убежище
Типа для единообразния, когда вычисляемые свойства нужны
источник

Dv

Dr. Friedrich von Never in .NET Chat Убежище
Ну, гм, будут нужны — перепишешь ._.
источник

RB

Roman Bukin in .NET Chat Убежище
А я говорю что оно под капотом тонну IL'я генерит)
источник

RB

Roman Bukin in .NET Chat Убежище
Который не нужен
источник

RB

Roman Bukin in .NET Chat Убежище
Ну в данном кейсе
источник

Dv

Dr. Friedrich von Never in .NET Chat Убежище
Не то чтобы тонну (инлайнятся короткие свойства на ура), но зачем этот код вообще нужен? Давайте дадим JIT'у побольше работы?
источник

RB

Roman Bukin in .NET Chat Убежище
Dr. Friedrich von Never
Не то чтобы тонну (инлайнятся короткие свойства на ура), но зачем этот код вообще нужен? Давайте дадим JIT'у побольше работы?
Вот о чём и речь)
источник

Dv

Dr. Friedrich von Never in .NET Chat Убежище
Плюс, размеры метаданных у такого класса будут поменьше.
источник

Dv

Dr. Friedrich von Never in .NET Chat Убежище
В одном случае поле + метод, в другом только поле.
источник

RB

Roman Bukin in .NET Chat Убежище
Dr. Friedrich von Never
В одном случае поле + метод, в другом только поле.
Оно конечно экономия на спичках на самом деле, но если можно этого не делать - то почему бы этого собственно и не делать))
источник

Dv

Dr. Friedrich von Never in .NET Chat Убежище
Вот именно.
источник