Я предполагаю
List<T> CreateEmptyGenericList<T>(T example) {
return new List<T>();
}
void something() {
var o = new { Id = 1, Name = "foo" };
var emptyListOfAnonymousType = CreateEmptyGenericList(o);
}
, будет работать.
Вы могли бы также рассмотреть запись его как это:
void something() {
var String = string.Emtpy;
var Integer = int.MinValue;
var emptyListOfAnonymousType = CreateEmptyGenericList(new { Id = Integer, Name = String });
}
Чем позже вы обнаружите ошибку, тем хуже. Когда вы обнаруживаете ошибку сразу после написания кода, вы имеете в виду все поведение и точно знаете, какие изменения вызвали ее. Вы сможете сосредоточиться на проблеме, если узнаете, где она находится.
Когда вы занимаетесь много времени, разработчики уже не помнят точно, как это работало, и есть еще много мест, где можно исследовать, чтобы найти ошибку. Возможно, разработчик, написавший ошибку, также больше не работает в компании.
Кроме того, со временем больше частей кода, вероятно, будет зависеть от ошибочного кода, и вам, возможно, придется их исправить.
Наконец, есть проблемы с пользователями. Если вы обнаружите ошибку после выпуска, она разочарует больше пользователей, а имидж вашего продукта станет хуже. Пользователи также могут найти обходной путь для этой ошибки,