C 利用反射實現實體類List索引器

2021-09-23 18:31:44 字數 759 閱讀 7028

在專案開發中,我們經常會自定義一些實體類,在某些需要動態賦值的功能中,我們無法知道到下乙個需要賦值的欄位名稱是什麼,只知道會從其他返回需要賦值的欄位名稱和值,這時候就需要實現索引器了,就像c# datatable中的行索引器一樣,可以根據欄位名稱實現查詢和賦值,如下所示:

datatable dt = new datatable();

dt.columns.add("username", typeof(string));

datarow dr = dt.newrow();

dr["username"] = 「張三」;//索引器

dt.rows.add(dr);

實體類的索引器的**如下圖所示:

public abstract class entitybase

else

}set

else}}

}}

entitybase為抽象類,無法例項化,只要實體類繼承entitybase,便可獲得索引器功能,如下圖所示:

public class tabuser:entitybase

public string userpwd

public long userid

}tabuser user = userlists.firstordefault();

string pwd = user["userpwd"].tostring();//實體類索引器

C 反射實體類

using system using system.collections.generic using system.text using system.reflection namespace easysrcoreclass.component.utilcomponent 設定屬性值 public...

利用反射將資料讀入實體類

利用反射將資料讀入實體類 在實際開發中,我們經常需要從資料庫中讀取資料並賦值給實體類的相應屬性。比如 public role getroles int blogid if reader name dbnull.value if reader description dbnull.value read...

MyBatisPlus實現實體類注入列舉型別字段

為了加強實體類中,特殊字段型別的可讀性和省去資料型別的轉換,我們今天嘗試把int型別,例如狀態這種整型欄位換做列舉,下面是舊 data equalsandhashcode callsuper false accessors chain true tablename gdt targeting api...