public static Type GetObjectType(string asm, string ns, string cls) {
Type t = (Type)_cache[asm + ns + cls];
if (t == null) {
object obj = _cache[asm + ns + cls]; // 錯誤:應為 Assembly.Load...
obj = Assembly.Load(asm).CreateInstance(ns + "." + cls);
_cache[asm + ns + cls] = obj.GetType();
// 缺少:t = (Type)_cache[...]; 導致回傳 null
}
return t;
}
修正:存入快取後必須重新讀取指派給 t,否則回傳 null。
string strWhere = "";
// ... 組裝 strWhere ...
// 缺少 if (strWhere.Trim() != "") 判斷
strSQL = string.Format(strSQL, tableName, strWhere); // 產生 WHERE 導致 SQL 錯誤
修正:執行 SQL 前檢查 strWhere 非空,避免生成無效 SQL。
提供可運行的 MiniORM 使用範例,驗證修正後行為,協助開發者快速上手。