文件批量生成IO流读写
/// <summary> /// 生成文件的 /// </summary> /// <param name="calssName"></param> public void create(string calssName) { //获取程序集 var createClass = Assembly.Load("Entity"); //反射出所有的类 List<Type> ts = createClass.GetTypes().ToList(); //循环生成 ts.ForEach(x => { //x.Namespace获取命名空间 var ss = "using " + x.Namespace + ";\n" + "using CoreFramework." + calssName + ";\n" + "using System;\n" + "using System.Collections.Generic;\n" + "using System.Text;\n\n" + "namespace I" + calssName + "\n" + "{\n" + "\tpublic interface I" + x.Name.Substring(0, x.Name.Length - 6) + "" + calssName + " : IBase" + calssName + "<" + x.Name + ">\n" + "\t{\n" + "\t}\n" + "}\n"; //创建文件夹 if (!Directory.Exists(@"C:\Users\Desktop\I" + calssName + "")) { Directory.CreateDirectory(@"C:\Users\Desktop\I" + calssName + ""); } //创建文件夹 if (!Directory.Exists(@"C:\Users\Desktop\I" + calssName + @"\" + x.Name.Substring(0, x.Name.Length - 6) + "")) { Directory.CreateDirectory(@"C:\Users\Desktop\I" + calssName + @"\" + x.Name.Substring(0, x.Name.Length - 6) + ""); } //保存 开启文件流 using (FileStream fs = new FileStream(@"C:\Users\Desktop\I" + calssName + @"\" + x.Name.Substring(0, x.Name.Length - 6) + @"\I" + x.Name.Substring(0, x.Name.Length - 6) + "" + calssName + ".cs", FileMode.Create)) { //文本写入 开启读写流 using (StreamWriter sw = new StreamWriter(fs)) { sw.Write(ss); } } }); }
最近在项目中使用了仓储模式有些代码太过于重复了所以想写个生成。
本来是想用T4模板的,但是感觉T4不好用,所以就是使用了读写了直接写入吧。
主要就是想记录一下,好记性不如烂笔头。所以想博客记录一下。
我曾七次鄙视自己的灵魂:
第一次,当它本可进取时,却故作谦卑;
第二次,当它空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中虽不甘心,却又畏首畏尾。
第一次,当它本可进取时,却故作谦卑;
第二次,当它空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中虽不甘心,却又畏首畏尾。