7月 20, 2017

『C#』用字串取得class裡的物件

這裡記錄如何使用動態字串的方式,取得class裡的資料!




首先假設我們有一個 class的格式為"Machine_Data"的資料"qData",若我們要取得裡面的"Day_1",最直接的方法為"qData.Day_1",而要如何使用字串的方法取得qData裡面的值或是設定裡面的值呢?以下為該做法:

model:

public class Machine_Data
{
   [DisplayName("機台")]
   public string Machine { get; set; }

   public int Day_1 { get; set; }
}


以字串方法設定值:

Machine_Data qData = new Machine_Data();
PropertyInfo property_test = qData.GetType().GetProperty("Day_1");    
int temp = 3;                    
property_test.SetValue(qData, temp, null);


以字串方法取得值:

string test_dynamic = "Day_1";
var test = qData.GetType().GetProperty(test_dynamic).GetValue(qData, null);


David Kung 2017/07/20

沒有留言:

Related Posts Plugin for WordPress, Blogger...