|
對于ORMCodeHelper(Keny的),完全的采用插件式開發(fā),即插即用,個人感覺還是比較爽的,架構不錯。它包括了SQL SERVER 2000,SQL SERVER 2005以及ORACLE的相關C#代碼的生成。比哥一年前寫的那個牛多了,哈哈,哥去年亂寫了個網頁版的(http://www.cnblogs.com/jasenkin/archive/2010/02/11/1667511.html),現在看一年前的代碼,哥感嘆,這個誰寫的代碼,TMD實在寫的太爛了!!!當然,ORMCodeHelper與CodeSmith相比,還是有差距的哦。霖哥以前給我的codesmith模板(N層的),哥一直沒時間仔細看,哥知道那個模板可以把所有的代碼全部生成,其中包括N層代碼、存儲過程、頁面等等。雖然時間就像乳溝,只要擠一擠總還是有的!但是,哥真的......本來9號哥都是請假休息的,唉,又要哥上班了....
還有就是對于MVC3,Razor實在太給力了,扔掉MVC2吧,哈哈,@確實挺不錯的。
在ORMCodeHelper中,對于配置文件的使用的思路還是不錯的,哥學以致用,提煉個泛型的出來(其實最主要的還是插件開發(fā)的架構)。對于XML與OBJECT的轉換來說,下面講的是一種Serialize方法。其實哥還有另外一種通過反射將XML轉換成對象的方法,不過,涉及到公司****,那種方法還是不寫了。當然,那種方法哥是可以橫著寫了(因為哥早就背在心里了),哈哈,通用的代碼....
先看代碼,如下:
public static class Serializer{
public static void Serialize<T>(string filePath, T[] array) where T:new()
{
if (string.IsNullOrEmpty(filePath)||
array == null||array.Length==0)
{
return;
}
try
{
XmlSerializerFactory xmlSerializerFactory = new XmlSerializerFactory();
XmlSerializer xmlSerializer =
xmlSerializerFactory.CreateSerializer(array.GetType(), typeof(T).Name);
Stream stream = new FileStream(filePath, FileMode.Create);
xmlSerializer.Serialize(stream, array);
stream.Close();
}
catch
{
}
}
public static void Serialize(string filePath, object obj)
{
if (string.IsNullOrEmpty(filePath) || obj == null)
{
return;
}
try
{
XmlSerializerFactory xmlSerializerFactory = new XmlSerializerFactory();
XmlSerializer xmlSerializer =
xmlSerializerFactory.CreateSerializer(obj.GetType(), obj.GetType().Name);
Stream stream = new FileStream(filePath, FileMode.Create);
xmlSerializer.Serialize(stream, obj);
stream.Close();
}
catch
{
}
}
}
NET技術:如何將XML與OBJECT進行相互轉換(泛型以及通用方法),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。