- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
public static string LoadGridDT (TObjects pList, out DataTable Dt, params object[] pArgs)
...
switch (pList)
{
case TObjects.Radio :
if (pArgs.Length == 1 && pArgs[0] is int)
vLoadResult = Protocol.Radionuclide.Load((int)pArgs[0], out Dt);
else if (pArgs.Length > 1 && pArgs[0] is int && pArgs[1] is bool)
vLoadResult = Part2.Radionuclide.Load((int)pArgs[0], out Dt);
else vLoadResult = Radionuclide.Load(out Dt);
break;
case TObjects.Protocol :
// [0](int): Тип протокола; [1](int): Очередь; [2](bool): Активность; [3](int): Объект
if (pArgs.Length > 3 && pArgs[0] is int && pArgs[1] is int && pArgs[2] is bool && pArgs[3] is int)
if (pArgs.Length > 4 && pArgs[4] is int)
vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], (int)pArgs[3], (bool)pArgs[2], out Dt, (int)pArgs[4]);
else
{
if (pArgs.Length > 4 && pArgs[4] is bool && (bool)pArgs[4] == true) // 5-й аргумент для загрузки детализированного списка протоколов с учетом объекта отбора
vLoadResult = Protocol.Load((int)pArgs[0], (int)pArgs[1], (int)pArgs[3], (bool)pArgs[2], out Dt);
else // недетализированный список протоколов с учетом объекта отбора
vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], (int)pArgs[3], (bool)pArgs[2], out Dt);
}
else
// [0](List<int>): Типы протокола; [1](int): Очередь; [2](int): Id место отбора; [3](bool): Активность
if (pArgs.Length > 3 && pArgs[0] is List<int> && pArgs[1] is int && pArgs[2] is int && pArgs[3] is bool)
if (pArgs.Length > 4 && pArgs[4] is int)
vLoadResult = Protocol.LoadList((List<int>)pArgs[0], (int)pArgs[1], (int)pArgs[2], (bool)pArgs[3], out Dt, (int)pArgs[4]);
else
vLoadResult = Protocol.Load((List<int>)pArgs[0], (int)pArgs[1], (int)pArgs[2], (bool)pArgs[3], out Dt);
else
// [0](List<int>): Типы протокола; [1](int): Очередь; [2](bool): Активность
if (pArgs.Length > 2 && pArgs[0] is List<int> && pArgs[1] is int && pArgs[2] is bool)
if (pArgs.Length > 3 && pArgs[3] is int)
vLoadResult = Protocol.LoadList((List<int>)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt, (int)pArgs[3]);
else
vLoadResult = Protocol.LoadList((List<int>)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt);
else
// [0](int): Тип протокола; [1](int): Очередь; [2](bool): Активность;
if (pArgs.Length > 2 && pArgs[0] is int && pArgs[1] is int && pArgs[2] is bool)
if (pArgs.Length > 4 && pArgs[3] is bool && pArgs[4] is int)
vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt, (int)pArgs[4]);
else
vLoadResult = Protocol.Load((int)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt);
else
// [0](int): Тип протокола; [1](int): Очередь
if (pArgs.Length > 1 && pArgs[0] is int && pArgs[1] is int)
if (pArgs.Length > 2 && pArgs[2] is int)
vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], out Dt, (int)pArgs[2]);
else
vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], out Dt);
else
...
kyzi007 08.02.2012 10:50 # 0
gcoder 08.02.2012 10:58 # 0
public static int LoadListData (UIComboBox pEdit, TObjects pList, int pFocusID, bool pShowErr, params object[] pArgs),
часть элементов pArgs используется в нем, а часть в вышеописанном...
kyzi007 08.02.2012 11:02 # 0
gcoder 08.02.2012 11:08 # 0
wvxvw 08.02.2012 11:11 # 0
gcoder 08.02.2012 11:31 # 0
Знал он, что можно перегружать, он, видимо, хотел написать 1 супер метод загрузки всего везде. =) А частные перегруженные методы загрузки конкретного справочника с конкретными параметрами как раз и вызываются...
"Хотя и отрефакторить будет не так сложно"
Угу, да и дописать / поправить тоже...
gcoder 08.02.2012 11:39 # 0
roman-kashitsyn 08.02.2012 12:00 # +3
Lure Of Chaos 08.02.2012 22:09 # 0
Govnocoder#0xFF 08.02.2012 18:43 # 0
guest8 09.04.2019 12:39 # −999