ORM泛型 反射

2022-07-22 02:15:12 字數 2847 閱讀 1421

#region 動態查詢的方式使用泛型+反射

//sql語句 select *from student

public

static listquery(string

where

)

else

}//float型別

else

if (tb.columns[j].datatype == typeof(float

))

else

}//datetime

else

if (tb.columns[j].datatype == typeof

(datetime))

else

}//double

else

if (tb.columns[j].datatype == typeof(double

))

else

}else

else

}#endregion

}

//將object 型別強轉對應的型別

list.add((t)obj);//

(型別)強制轉換

} }

}return

list;

}//獲取sql

public

static

string

getquerysql()

#endregion

#region 動態新增的操作

public

static

intinsert(t models)

}return

flag;

}public

static

string

getinsertsql(t models)

else}}

}//生成了sql語句

string sql = "

insert into

" + type.name + "

(" + field + "

) values(

" + value + ")"

;

return

sql;

}#endregion

#region 動態修改的操作

public

static

int update(t models, string

where

)

}return

flag;

}public

static

string getupdatesql(t models, string

where

)

else}}

//update biao set ziduan =zhi where username=

string sql = "

update

" + type.name + "

set

" + updatestr + "

where 1=1

" + where

;

return

sql;

}#endregion

#region 動態刪除

public

static

int delete(t models, string

where

)

}return

flag;

}//刪除的sql語句

public

static

string getdeletesql(t models, string

where

)

#endregion

//

查詢public listquery(string

where

)

//插入

public

intinsert(empuserinfo info)

//修改

public

intupdate(empuserinfo info)

//刪除

泛型反射技巧

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

泛型和反射

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

泛型與反射

泛型 泛型的作用 泛型是jdk1.5以後才有的,可以在編譯時期進行型別檢查,且可以避免頻繁型別轉化!泛型的使用 泛型的方法 public class genericdemo 測試方法 test public void testmethod throws exception 泛型的類 public c...