第一個問題就是 - 我讀了很多很多次,所以有時間投入到我的社區中去!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()
方法基本上返回值分配給夏精(和具有邏輯來確定的類型和應如何分配等。)
我的問題,是否有更好的方法從知道屬性值中獲取Linq對象的值? 它適用於某些形式,但最近剛炸燬了我!
否則,我很想回到舊的方法或從DAL返回DataRow
,並且只需簡單引用名稱即可!
由於提前, 馬克
C#不會「爆炸」,它會拋出異常。除其他信息外,異常還包括類型,消息和堆棧跟蹤。 – Jon 2012-03-21 18:15:46
確實需要更好的方法,您在循環中使用了Reflection。這是一個昂貴的操作。生病等待專家回答 – Zenwalker 2012-03-21 18:17:09
你爲什麼要積極試圖拋棄類型安全? – asawyer 2012-03-21 18:17:56