[英]C# Generics on Auto-Implemented Property Classes
我創建了一個代表我的SQLite數據庫表架構的屬性類。 類中的每個屬性都將成為數據庫中的一個屬性。
class SQLiteTables
{
public class tblPerson
{
[PrimaryKey, AutoIncrement]
public int PersonID { get; set; }
public string PersonFirstName { get; set; }
public string PersonMiddleName { get; set; }
public string PersonLastName { get; set; }
}
public class tblSchedule
{
[PrimaryKey, AutoIncrement]
public int ScheduleID { get; set; }
public string ScheduleDescription { get; set; }
public DateTime ScheduleStart { get; set; }
public DateTime ScheduleEnd { get; set; }
}
//18 more table definitions below
}
現在,要從表中檢索一些數據,
public void GetPersonList()
{
List<tblPerson> lstTemp = dbConn.Table<tblPerson>().ToList<tblPerson>();
// Some 20 lines of code here
}
我想避免編寫特定於類型的方法,這是一個繁瑣的任務。 我想創建一個可重用的方法,該方法可以使用泛型實現檢索任何表上的數據。 我該如何實現?
編輯我正在Windows Phone 8平台上工作。
這應該適合您的工作。
public List<T> GetItems<T>()
{
return dbConn.Table<T>().ToList<T>();
}
您可以使用支持SQLite的DBLinq-然后在數據上下文中免費獲取語法。
public IList<T> GetList<T>()
{
return _context.GetTable<T>().ToList();
}
public IEnumerable<T> GetItems<T>() where T: new()
{
lock (locker) {
return dbCon.Table<T> ().ToArray ();
}
}
我認為關鍵是最后的“:new()”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.