使用泛型和反射實現IDataReader轉實體

2022-02-21 05:07:36 字數 876 閱讀 5596

#region 使用反射和泛型實現idatareader向實體的轉化(擴充套件方法)

//////使用反射和泛型實現idatareader向實體的轉化(擴充套件方法)

/// public

static

class

readerhelper}}

return

model;

}catch

(exception)

}#endregion

#region idatareader 轉實體列表

//////datareader轉泛型

/// ///

傳入的實體類

///datareader物件

///public

static listreadertolist(this

idatareader objreader)}}

list.add(model);

}return

list;}}

catch

}#endregion

#region 對可空型別進行判斷

//////對可空型別進行判斷轉換(*要不然會報錯)

/// ///

datareader欄位的值

///該字段的型別

///private

static

object checktype(object

value, type conversiontype)

return

convert.changetype(value, conversiontype);

}#endregion

}

#endregion

泛型和反射

泛型允許程式設計師在 中將變數或引數的型別,先用 型別佔位符 來代替,等到允許的時候再根據傳入的 類 來代替 泛型是指帶型別引數的類,而不是引數本身。類 方法 結構 介面都可定義為泛型 可以定義多個引數 public class person 例項化乙個引用引數型別的泛型,它的記憶體分配的大小是一樣...

使用反射和泛型手寫DBUtils

本案例中使用的是c3p0連線池,其他連線池也差不多 實體類的屬性名要與資料庫表名字段一致 datasource 一定是靜態的要不然每new一次就會建立一些連線,知道資料庫連線滿,資料庫會拒絕連線 public class dbutils resultset rs ps.executequery 獲取...

泛型反射技巧

1 如何獲得乙個封閉構造型別 closed constructed type 的type物件?假設有如下的型別 class testtype t class testtype t,u 如果要獲得封閉構造型別的type物件,那麼只需要用c 的typeof運算子,或者vb的gettype運算子作用於具體...