powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как получить имена коллекции (не значения)
7 сообщений из 7, страница 1 из 1
как получить имена коллекции (не значения)
    #38527896
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из веб сервиса получаю структуру, которая содержит коллекцию (имя-значение). Чтобы получить значения обращаюсь к полю
Код: c#
1.
2.
3.
4.
5.
6.
7.
 foreach (var item in array.ARRSK)
                    {
                        SB.Append(row + ";" +
                        item.CADRESS + ";" +
                        item.CADRESS_1 + ";" +
                     .......
                    }


Коллекция (кол-во полей, не записей) постоянно увеличивается. Как сделать такое чтобы считались все поля CADRESS, CADRESS_1 и т.д.
или
цикл по именам полей
цикл по записям
...
Рейтинг: 0 / 0
как получить имена коллекции (не значения)
    #38527927
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abort,

1) Разве структура не статична? Как может сервис один раз выдать структуру с полем CADDRESS, а второй раз - CADDRESS и CADDRESS_1?
2) Перебор полей/свойств/методов/т.п. осуществляется через Reflection (item.GetType().GetField и прочие методы типа Type)
...
Рейтинг: 0 / 0
как получить имена коллекции (не значения)
    #38527971
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это просто говнокод для дальнейшего поиска...
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
/*
string vals = PropValStr(DateTime.Now, "Day");
*/
static string PropValStr(object Source, string StartsWith)
{
	string rt = String.Empty;
	
	 Source
	.GetType()
	.GetProperties()
        .Where(x=>x.Name.StartsWith(StartsWith))
	.Select(pro => String.Format("{0};", pro.GetValue(Source, null).ToString()))
	.ToList()
	.ForEach(lst => rt += lst);

	return rt;
}
...
Рейтинг: 0 / 0
как получить имена коллекции (не значения)
    #38527975
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79abort,

1) Разве структура не статична? Как может сервис один раз выдать структуру с полем CADDRESS, а второй раз - CADDRESS и CADDRESS_1?
2) Перебор полей/свойств/методов/т.п. осуществляется через Reflection (item.GetType().GetField и прочие методы типа Type)

1) В том то и дело что не статична, постоянно все меняется
2) спасибо буду пробовать
...
Рейтинг: 0 / 0
как получить имена коллекции (не значения)
    #38527998
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abort1) В том то и дело что не статична, постоянно все меняется

Это как? Я реально не понимаю. Веб сервис должен выдавать данные согласно контракту. Контракт неизменен. Как клиент может получать произвольные данные?

Пример приведите, может это я туплю и не понимаю, о чем вы.
...
Рейтинг: 0 / 0
как получить имена коллекции (не значения)
    #38528249
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

авторы веб сервиса находятся зарубежом и периодически они изменяют ее, чаще добавляют новые условия и описания. Приходится периодически обновлять вебсеврис и статично вручную добавлять новые поля для выгрузки в CSV
...
Рейтинг: 0 / 0
как получить имена коллекции (не значения)
    #38528311
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortПриходится периодически обновлять вебсеврис и статично вручную добавлять новые поля для выгрузки в CSV
ну дык эта проще сырой XML(или JSON) от сервиса превращать в csv, не?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как получить имена коллекции (не значения)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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