簡體   English   中英

LINQ-使用列名作為字符串參數訪問列

[英]LINQ - Accessing a column with the column name as a string parameter

(類似於這個問題

我有稱為“問題”和“最終數字”的表格:

問題(QuestionID,Text,FinalFiguresColumnName)
FinalFigures(FinalFigureID,TotalDays,TotalCost等)

“ FinalFiguresColumnName”將具有諸如“ TotalDays”,“ TotalCost”等之類的值。是否有一種簡單的方法來遍歷一組問題並將“文本”值保存到“ FinalFigures”表中的相應列名?

IE瀏覽器。 代替:

var item = new FinalFigure();
item.TotalDays = "x";

我需要:

var item = new FinalFigure();
// access the column 'TotalDays' with its name as a string, not a property

您可以使用一些反射來通過屬性的字符串名稱獲取屬性值,而不是直接訪問它。

var value = (int)item.GetType().GetProperty("TotalDays").GetValue(item);

要設置值,只需調用SetValue();即可。

item.GetType().GetProperty("TotalDays").SetValue(item, value);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM