Нужно сделать цикл через динамическую переменную
>У меня есть 100 хранимых процедур, которые возвращают неопределенные данные (они могут возвращать от 1 до n чисел столбцов с одной или несколькими строками)
Я использую Entity framework, который возвращает мне объект класса или список объектов.
Что мне нужно, так это создать единственную функцию, в которой я могу передать выходные данные моей любой StoredProcedure
и независимо от структуры данных он генерирует HTML (который я возвращаю непосредственно в пользовательский интерфейс), а также мне нужно получить доступ к имени Поля.
Так что если мой sp вернется
ВАР результат1 = ДБ.getServerDetailsBackupDefincation(имя_сервера);
ВАР результат2 = ДБ.getServerDetailsStorageDevice(имя_сервера);
Я хочу отправить результат в функцию, которая будет принимать результат либо как динамический, либо как объект .
частных статических недействительным петли(предмет результат)
{
}
частный статический пустотный цикл (динамический результат){
}
И теперь я должен получить доступ ко всем элементам списка в результате, чтобы я мог прокрутить его
и создайте заголовок с именем столбца
И строки, если они существуют в результате.
До сих пор я могу получить имя столбца.
PropertyInfo[] propertyInfo = obj.GetType (). GetProperties();
Type type=propertyInfo[2].GetMethod.Тип_возвращаемого_значения; /получить доступ к тип список
PropertyInfo[] propertyInfo1 = тип.Метод getproperties();
foreach (PropertyInfo p в propertyInfo1)
{
Приставка.Метода WriteLine(стр. Название); //
}
Надеюсь, вы понимаете, что мне нужно
Спасибо
Что я уже пробовал:
частных статических недействительным петли(объект obj)
{
строка xPrev = "";
PropertyInfo[] propertyInfo = obj.GetType (). GetProperties();
Type type=propertyInfo[2].GetMethod.Тип_возвращаемого_значения;
PropertyInfo[] propertyInfo1 = тип.Метод getproperties();
foreach (PropertyInfo p в propertyInfo1)
{
Приставка.Метода WriteLine(стр. Название);
string propertyName = строка.Присоединиться (""., новый строка[] { xPrev, стр. Название });
если (!имя_свойства.Содержит ("Родитель"))
{
Тип propertyType = p. PropertyType;
if (! propertyType.Метод toString().StartsWith ("MyCms"))
{
Приставка.WriteLine (строка.Присоединиться (""., новый строка[] { xPrev, стр. Название }).TrimStart(new char[] { '.' }));
}
ещё
{
xPrev = строка.Присоединиться (""., новый строка[] { xPrev, стр. Название });
}
}
}
}
}
открытый класс Эми
{
public int id { get; set; }
public string name { get; set; }
}
ученик открытый класс
{
public int studentID { get; set; }
публичная строка studentName { get; set; }
}
static void Main (string[] args)
{
Список<Эми&ГТ; emp1= новый список<ЭМП и GT;() { новый пуп() { ИД = 1, имя = "ААА" }, новый пуп() { ИД = 2, имя = "ВВВ" } };
Список<студент&ГТ; оператор student1= новый список<студент> У() { новый студент() { studentID = 1, studentName = "С1" }, новый студент() { studentID = 2, studentName = "С2" } };
петля (emp1);
// loop(student1);
Приставка.С readline();
}
The Praveen Singh
в чем проблема или какую ошибку вы получаете ?
arry.net
In loop function {loop(object result)}
Я могу получить доступ к объекту в нем есть 3 вещи
Емкость, Количество, {DynamicListLoop.Элемент Emp [Int32]}
Я не могу пройти через это
Добавление кода в раздел (Что я уже пробовал:), чтобы вы могли запустить его напрямую