- 1
- 2
- 3
- 4
- 5
- 6
- 7
protected static string CreateSubIndexName(string prefix, int index) {
return String.Format(CultureInfo.InvariantCulture, "{0}[{1}]", prefix, index);
}
protected static string CreateSubIndexName(string prefix, string index) {
return String.Format(CultureInfo.InvariantCulture, "{0}[{1}]", prefix, index);
}
Из исходников ASP.NET MVC 2. Класс DefaultModelBinder.
Рядышком друг за другом два метода с совершенно одинаковым содержимым.
Наш девиз: дублирование кода, умещающегося в одну строчку, за дублирование не считается.
Анонимус 24.11.2010 14:03 # 0
absolut 24.11.2010 14:18 # 0
metaball 24.11.2010 14:21 # 0
absolut 24.11.2010 14:44 # −5
Поэтому и появились шаблоны в С++. Не знаю как с этим делом в шарпах.
Анонимус 24.11.2010 14:47 # −1
Беда только в том, что параметризовать можно только ссылочным типом. Если указать примитив (int) то он автобоксится в объект (тоесть в куче создатся с объект, в него положится значение int, и вместо примитива будет ссылка на этот объект). Видимо в целях экономии памяти они и сделали две функции
Pauchok-Anaynckiy 24.11.2010 15:11 # −1
Pauchok-Anaynckiy 24.11.2010 15:16 # +1
не генериках специально даже констрейнт struct предусмотрен, чтобы можно было только значимыми типами параметризовывать
Анонимус 24.11.2010 15:18 # 0
извините
Анонимус 24.11.2010 14:24 # +1
найдите отличие
Nagg 24.11.2010 23:29 # 0
Pauchok-Anaynckiy 25.11.2010 01:25 # +1
в этом куске главным будет метод со строковой перегрузкой, а инт-овая перегрузка соответственно должна его дергать:
return CreateSubIndexName(prefix, index.ToString());
вот при таком подходе я пойду на уговоры не разбрызгиваться своими фекалиями ))))))))