- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
' Это первый конструктор:
Public Sub New(ByVal ParmName0 As String, ByVal ParmValue0 As Object)
PRM(0) = New SqlParameter(ParmName0, ParmValue0)
CMD.Parameters.Add(PRM(0))
End Sub
' ... 20-30 конструкторов спустя:
Public Sub New(ByVal ParmName0 As String, ByVal ParmValue0 As Object, ByVal ParmName1 As String, ByVal ParmValue1 As Object, ByVal ParmName2 As String, ByVal ParmValue2 As Object, ByVal ParmName3 As String, ByVal ParmValue3 As Object, ByVal ParmName4 As String, ByVal ParmValue4 As Object, ByVal ParmName5 As String, ByVal ParmValue5 As Object, ByVal ParmName6 As String, ByVal ParmValue6 As Object, ByVal ParmName7 As String, ByVal ParmValue7 As Object, ByVal ParmName8 As String, ByVal ParmValue8 As Object, ByVal ParmName9 As String, ByVal ParmValue9 As Object, ByVal ParmName10 As String, ByVal ParmValue10 As Object, ByVal ParmName11 As String, ByVal ParmValue11 As Object, ByVal ParmName12 As String, ByVal ParmValue12 As Object, ByVal ParmName13 As String, ByVal ParmValue13 As Object, ByVal ParmName14 As String, ByVal ParmValue14 As Object, ByVal ParmName15 As String, ByVal ParmValue15 As Object, ByVal ParmName16 As String, ByVal ParmValue16 As Object, ByVal ParmName17 As String, ByVal ParmValue17 As Object, ByVal ParmName18 As String, ByVal ParmValue18 As Object, ByVal ParmName19 As String, ByVal ParmValue19 As Object, ByVal ParmName20 As String, ByVal ParmValue20 As Object, ByVal ParmName21 As String, ByVal ParmValue21 As Object, ByVal ParmName22 As String, ByVal ParmValue22 As Object, ByVal ParmName23 As String, ByVal ParmValue23 As Object, ByVal ParmName24 As String, ByVal ParmValue24 As Object, ByVal ParmName25 As String, ByVal ParmValue25 As Object, ByVal ParmName26 As String, ByVal ParmValue26 As Object, ByVal ParmName27 As String, ByVal ParmValue27 As Object, ByVal ParmName28 As String, ByVal ParmValue28 As Object, ByVal ParmName29 As String, ByVal ParmValue29 As Object)
Call Me.New(ParmName0, ParmValue0, ParmName1, ParmValue1, ParmName2, ParmValue2, ParmName3, ParmValue3, ParmName4, ParmValue4, ParmName5, ParmValue5, ParmName6, ParmValue6, ParmName7, ParmValue7, ParmName8, ParmValue8, ParmName9, ParmValue9, ParmName10, ParmValue10, ParmName11, ParmValue11, ParmName12, ParmValue12, ParmName13, ParmValue13, ParmName14, ParmValue14, ParmName15, ParmValue15, ParmName16, ParmValue16, ParmName17, ParmValue17, ParmName18, ParmValue18, ParmName19, ParmValue19, ParmName20, ParmValue20, ParmName21, ParmValue21, ParmName22, ParmValue22, ParmName23, ParmValue23, ParmName24, ParmValue24, ParmName25, ParmValue25, ParmName26, ParmValue26, ParmName27, ParmValue27, ParmName28, ParmValue28)
PRM(29) = New SqlParameter(ParmName29, ParmValue29)
CMD.Parameters.Add(PRM(29))
End Sub
Перегрузка по-говнокодерски. Сие великолепие автор комментирует так:
"Одновременно для всяких начинающих, которые прослушали лекции про типы данных ParamArray - разъясняю, что типы данных идут вперемешку - строка/обьект - пример вызова с формы выложен выше. И ParamArray здесь приведет к необходимости преобразования строки в обьект. Что во-первых неэффективно и ненужно, а во вторых отключит проверку типа параметра и легко можно будет пропустить название параметра и указать вместо него собственно значение параметра."
"И наконец, при отсутствии такого полиморфного конструктора, принимающего от нуля до 30 параметров - эта функция и вовсе утрачивает смысл. Ибо тридцать строк на форме для одного обращения в базу? Это может показаться приемлимым только тем, кто вообще никогда не занимался программированием."
Webkill 01.06.2010 06:24 # 0
Автору 48 лет... ~ 20-30 лет программирования на визуалбейсике дали знать своё :)
guest 01.06.2010 07:29 # +3
Webkill 01.06.2010 07:29 # 0
guest 01.06.2010 07:34 # 0
guest 01.06.2010 07:38 # +4
guest 01.06.2010 07:39 # 0
xaionaro 05.06.2010 04:31 # 0
Мистер Хэнки 01.06.2010 16:45 # 0
а не проще ли заюзать Map или Dictionary (не помню как там в шарпе зовётся оная структура данных) ?
guest 01.06.2010 18:07 # +4
guest 01.06.2010 18:10 # +5
Мистер Хэнки 01.06.2010 20:55 # +3
guest 01.06.2010 18:13 # +3
лишний аргумент затесался
guest 01.06.2010 09:06 # +4
guest 01.06.2010 09:09 # +12
guest 01.06.2010 09:18 # +4
guest 01.06.2010 10:00 # +4
TarasB 01.06.2010 19:26 # 0
guest 02.06.2010 03:00 # +3
guest 01.06.2010 14:25 # 0
вебкил
неиначе как в зоопарке деньб открытых дверей
guest 01.06.2010 15:48 # +4
guest 01.06.2010 15:50 # −2
TarasB 01.06.2010 19:25 # +10