Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Dictionary с CallBack ? / 3 сообщений из 3, страница 1 из 1
23.04.2020, 19:34
    #39950682
Valery_B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dictionary с CallBack ?
Добрый вечер.
Есть датасет, который заполняется не из БД, а вручную.
После того как в него добавлена строка, её значения заполняются автоматически. Но так можно заполнить не все поля.
Для тех полей, для который значение не найдено, вызывается спец функция ниже.
Работает как надо, но как то выглядит не очень.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public object FindFieldValue(DataRow CurrentRow, string FieldName)
{
//FieldName:название поля, для которого значение не найдено
 if (FieldName=="MessageToUser")
   return "Hello, "+CurrentRow["UserName"].ToString();
 
 if (FieldName=="EMail")
   return CurrentRow["UserName"].ToString()+"@somewhere@host.com";

//и т.д... ещё штук 5 аналогичных if
 return null;
}



А я бы сначала хотел заполнить примерно такой Dictinary, и потом получать от туда значения.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
var DefaultValues = new Dictionary<string, ReturnValue>
DefaultValues.Add("MessageToUser", return "Hello, "+CurrentRow["UserName"].ToString()));
DefaultValues.Add("EMail",return CurrentRow["UserName"].ToString()+"@somewhere@host.com";


public object FindFieldValue(DataRow CurrentRow, string FieldName)
{
  if (DefaultValues.Contains(FieldName))
    return DefaultValues[FieldName](CurrentRow)
     else
    return null;
}


Можно ли так сделать ?
...
Рейтинг: 0 / 0
24.04.2020, 01:40
    #39950771
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dictionary с CallBack ?
можно
...
Рейтинг: 0 / 0
24.04.2020, 18:49
    #39951145
Valery_B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dictionary с CallBack ?
hVostt,

Я так и думал.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Dictionary с CallBack ? / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]