Comments 7
А вы точно собирали свой проект с native toulchain? Потому что с ним вроде бы IL не генерится — сразу нативная сборка на выходе.
Because the input to .NET Native is the IL and metadata written to managed assemblies, you can still perform custom code generation or other custom operations by using pre-build or post-build events or by modifying the MSBuild project file.
Истoчник: .NET Native and just-in-time compilation
fibs.First().Should().Be(1);
Как по мне, так вот это не добавляет читаемости а наооборот вводит в язык магические конструкции.
Вместе с builder паттерн считаю антипаттерном и вообще кривым поделием. Против этого только LINQ, но там хоть «между точками» всегда одно и то-же.
Экономия на строчках кода выливается в его усложнение.
И лучше 20 строк понятного и простого кода, чем отладка кода с какими-то подписками и событиями стороннего фреймворка.
Вообще Event модель подразумевает, что клинты подписываются, отписываются, ветвятся и складываются в цепочки. Для UI общая event модель в общем случае оверхед, для этого MS ввели во фреймворк InotifyPropertyChanged, который вполне себе решает эту задачу.
Да и в предложении обычно сложность не в том, что много кода, а в том, что надо понять что он делает, а главное каким образом адаптировать его под новые требования. Чем проще код, тем проще оценить время переделки.
В вашей статье не доказано, что стандартные средства не подходят и вы вынуждены использовать сторонний фреймворк, который кстати сказать хрен знает как и кем протестирован и какие у него есть подводные камни.
Кроссплатформенная разработка с помощью .NET, реактивного программирования, шаблона MVVM и кодогенерации