usingsystem;
using
system.collections;
using
system.collections.generic;
using
system.data;
using
system.linq;
using
system.reflection;
using
system.linq.expressions;
namespace
basemodel
//////
運算方式
/// public enumformulartype enumformulartype }
//////
表別名
/// public
string acronym }
//////
表列名
/// public
string column }
}[attributeusage(attributetargets.property, allowmultiple = false
)]
public
class
aliasattribute : attribute
#region public properties
//////別名
/// public
string
aliasname
}//////
是否序列
/// public
bool issequence }
#endregion
}
public
class
visitoritem
public propertyinfo propertyinfo
public aliasattribute aliasattribute
public selectattribute selectattribute
}public
class dynamicvisitor: ienumerable}}
return
visits;}}
public
string tablename
private
visitoritem tuples;
private dictionarypropertynames;
private dictionaryaliasnames;
public
dynamicvisitor()
var ta = _type.getcustomattributes(true).oftype().firstordefault();
tablename = ta == null ?_type.name : ta.tablename;
}public
intcount
}public visitoritem this[string
propertyname]
}public
object getvalue(tresult result, string
propertyname)
public
void setvalue(tresult result, string aliasname, object
value)
else
}pi.setvalue(result, value,
null
); }
catch
(exception ex)
}public ienumeratorgetenumerator()
}ienumerator ienumerable.getenumerator()
}}
既然微軟已經為c#準備了這麼多metadata的資料,何不拿來一用。
企業應用的說法太可笑,世界上還是大、中型公司為數眾多,輕量級應用遍布,當大牛們在超大級公司選工作的同時,it碼農們還在為了找工作、漲薪而窮心竭力
合適的才是最好的,理想也是實現價值
屬性訪問器
synthesize result 表示建立該屬性的訪問器,這樣就可以直接訪問result屬性。在沒有新增屬性訪問器的時候,在main中這樣實現 myclass myclass myclass alloc init myclass setresult hello myclass shixian 新增...
單例模式 併發訪問
一 餓漢式 多執行緒併發,相對安全 class single private static final single s new single public static single getinstance 二 懶漢式 class single private static single s nu...
php清空單例屬性 php的單例模式講解
場景 class mysql my1 new mysql my2 new mysql my3 new mysql 每new一次,連線一次資料庫 同時,多了乙個物件,增大的開銷 另一種場景 購物車 如果我開啟多個頁面,每個頁面例項了多個購物車 那麼下的訂單,可能會被裝在不同的購物車裡,出現錯誤.所以,...