过年的这段时间一直没有闲着,总体来说可以分为以下2个部分的学习。
1:ORMCodeHelper的参考 与学习。
2:MVC3的学习。
对于ORMCodeHelper(Keny的),完全的采用插件式开发,即插即用 ,个人感觉还是比较爽的,架构不错。它包括了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中,对于配置文件的使用的思路还是不错的,哥学 以致用,提炼个泛型的出来(其实最主要的还是插件开发的架构)。对于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 { } } }
public static List<T> Deserialize<T>(string filePath) where T:new() { List<T> results=new List<T>(); if (string.IsNullOrEmpty(filePath)||!File.Exists(filePath)) { return results; } object obj = null; try { XmlSerializerFactory xmlSerializerFactory = new XmlSerializerFactory(); XmlSerializer xmlSerializer = xmlSerializerFactory.CreateSerializer(typeof(T[]), typeof(T).Name); Stream stream = new FileStream(filePath, System.IO.FileMode.Open); obj = xmlSerializer.Deserialize(stream); stream.Close(); results.AddRange(obj as T[]); } catch { } return results; } public static object Deserialize(string filePath, Type targetType) { if (string.IsNullOrEmpty(filePath)||!File.Exists(filePath) || targetType == null) { return null; } object obj = null; try { XmlSerializerFactory xmlSerializerFactory = new XmlSerializerFactory(); XmlSerializer xmlSerializer = xmlSerializerFactory.CreateSerializer(targetType, targetType.Name); Stream stream = new FileStream(filePath, FileMode.Open); obj = xmlSerializer.Deserialize(stream); stream.Close(); } catch { } return obj; }
从上面4个方法,可以看出主要是通过XmlSerializer将对象序列化为XML以及将XML反序列 化为对象,这种方法比较简单,而且易用。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, 方法
, xmlserializer
, stream
, mvc3
, filepath
, MVC3入门
MVC3方式
泛型和object的区别、泛型 object、java泛型和object、java 泛型 object、jsonobject 泛型,以便于您获取更多的相关知识。