Первый вопрос о SO - я читал много раз, столько раз, чтобы время заглядывать и мочить ноги в сообществе!Linq - получение значения из строки
Я начинаю получать одну строку из запроса Linq:
var relationshipDetails = (from p in dc.tbl_ClientRelationships
where p.ID == relationship_id
select p).FirstOrDefault();
Затем я просматриваю список строк (_cols
), что известные имена столбцов (а также образуют имена элементов), как так :
foreach (string c in _cols)
{
if (relationshipDetails.GetType().GetProperty(c).GetValue(relationshipDetails, null).ToString() != null)
{
setValue(relationshipDetails.GetType().GetProperty(c).GetValue(relationshipDetails, null).ToString(), c);
}
}
setValue()
метод в основном присваивает возвращаемое значение в WebControl (и имеет логику, чтобы определить тип и как он должен быть назначен и т.д ..)
Мой вопрос: есть ли лучший способ получить значение из объекта Linq из значения свойства know? Он работает на некоторых формах, но недавно просто взорвался!
В противном случае у меня возникает соблазн вернуться к старому методу или вернуть DataRow
из DAL и просто ссылку по имени легко!
Спасибо заранее, Марк
C# не «взрывается», он выдает исключения. Исключения включают, помимо прочего, тип, сообщение и трассировку стека. – Jon
Да, лучший способ действительно нужен, вы используете Reflection в цикле. Это дорогостоящая операция. Я жду ответа экспертов – Zenwalker
Почему вы активно пытаетесь сбросить безопасность типов? – asawyer