当前位置: 首页 > news >正文

网站页头页尾怎么做浏览器缓冲设置交网站建设 域名计入什么科目

网站页头页尾怎么做浏览器缓冲设置,交网站建设 域名计入什么科目,网站怎么加统计代码,静态网站被同行使用在大型项目的开发过程中,需要多人协同工作,来加速项目完成进度。 比如一个软件有100个form,分给100个人来写,每个人完成自己的Form.cs的编写之后,要在Mainform调用自己写的Form。 如果按照正常的Form form1 new For…

 

在大型项目的开发过程中,需要多人协同工作,来加速项目完成进度。

比如一个软件有100个form,分给100个人来写,每个人完成自己的Form.cs的编写之后,要在Mainform调用自己写的Form。

如果按照正常的Form form1 = new Form()这种写法来构造窗口的话,相当于每个人都要改动Mainform.cs文件,这100个人只要有1个人在Mainform中改错代码了,那么该项目就在至关重要的Mainform.cs里埋下了1个bug,这是非常危险的一件事!

所以为了降低编码的耦合性,让每个人只要关心自己的类,不用关心mainform相关的代码,可以用特性加反射的方式来提高程序的健壮性。下面就是一个例子:

 BaseForm.cs代码如下:

using System;
using System.Windows.Forms;namespace WinFormsApp1
{public enum CusFormType{HomePage,                          // 主页UserInfoPage,                  // 员工信息页LogPage,                       // 日志页SettingPage,                     // 系统设置页}public partial class BaseForm : Form{public BaseForm() { }public BaseForm(object par, Func<CusFormType, object, ActionType, BaseForm> func){param = par;Func = func;}public object param;public Func<CusFormType, object, ActionType, BaseForm> Func { get; set; }public class FormTypeAttribute : Attribute{public CusFormType[] tableType;public FormTypeAttribute(params CusFormType[] types)    //构造函数{tableType = types;}}}
}

MainForm.cs代码如下:


//#define HAHA
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Windows.Forms;
using static WinFormsApp1.BaseForm;namespace WinFormsApp1
{    public enum ActionType{New,Refresh}public partial class Mainform : Form{Func<CusFormType, object, ActionType, BaseForm> operFunc => FormOper;//Lambda 表达式是与匿名方法类似的内联表达式,但更加灵活;public Mainform(){InitializeComponent();GetTableTypeDic();}public static Dictionary<CusFormType, Type> tableTypeDic = new Dictionary<CusFormType, Type>();private void GetTableTypeDic(){var baseType = typeof(BaseForm);var allTypes = this.GetType().Assembly.GetTypes().Where(p => !p.IsInterface && baseType.IsAssignableFrom(p)).ToList();//通过反射获取所有继承自BaseForm的类的typeforeach (var item in allTypes){var attrs = item.GetCustomAttributes(typeof(FormTypeAttribute), false);//在派生类中重写时,返回应用于此成员并由System.type标识的自定义属性数组foreach (var attr in attrs){var curAttr = attr as FormTypeAttribute;if (curAttr.tableType != null){foreach (var type in curAttr.tableType)tableTypeDic[type] = item;}}}}private BaseForm FormOper(CusFormType tableType, object par, ActionType actionType = ActionType.New){if (tableTypeDic.ContainsKey(tableType)){if (actionType == ActionType.New){BaseForm tableForm = null;{tableForm = Activator.CreateInstance(tableTypeDic[tableType], new object[] { par, operFunc }) as BaseForm;tableForm.Text = tableType.ToString();}tableForm.Show();return tableForm;}}return null;}private void button1_Click(object sender, EventArgs e){operFunc.Invoke(CusFormType.HomePage, null,ActionType.New);}}
}

Form1代码如下:

using System;namespace WinFormsApp1
{[FormTypeAttribute(CusFormType.HomePage)]public partial class Form1 : BaseForm{public Form1(object par, Func<CusFormType, object, ActionType, BaseForm> func):base(par,func){InitializeComponent();}private void button1_Click(object sender, EventArgs e){Func.Invoke(CusFormType.LogPage,null,ActionType.New);}}
}

form2代码如下:

using System;namespace WinFormsApp1
{[FormTypeAttribute(CusFormType.LogPage)]public partial class Form2 : BaseForm{public Form2(object par, Func<CusFormType, object, ActionType, BaseForm> func) : base(par, func){InitializeComponent();}private void button1_Click(object sender, EventArgs e){Func.Invoke(CusFormType.SettingPage,null,ActionType.New);}}
}

form3代码就不用贴出来了,就是随便新建的一个form。

http://www.yayakq.cn/news/886701/

相关文章:

  • 百度引流免费推广怎么做太原seo团队
  • 网站维护的方式有哪几种阳江网络公司
  • 泰州泛亚信息做网站怎么样中国铁路总公司建设管理部网站
  • 网站做微信公众号范县网站建设电话
  • 怎么样建设一个网上教学网站qq空间的网站
  • 12388网站建设管理情况重庆网站制作工作室
  • 东莞凤岗网站建设制作wordpress留言代码
  • vs网站中的轮播怎么做四川成都旅游必去十大景点推荐
  • 网站建设后备案多少钱建设专业网站平台
  • 2019年建设银行安徽招聘网站做音响的是哪个网站
  • 中国小说网站策划与建设试述建设一个网站的具体步骤
  • 哪个网站微博做的最好自然堂网站建设情况
  • 甘孜网站建设北京做电商网站设计
  • 对网站外部的搜索引擎优化广州自助网站搭建建站公司
  • 万荣做网站jq网站特效插件
  • 网站推广指的是什么农业公园网站建设
  • 广东佛山网站建设电商主图一键生成免费
  • 免费发布信息网站做外贸生意上国外网站
  • 建设网站需要花费python app开发
  • 动易网站首页制作河南比较出名的外贸公司
  • 网站建设费用评估长沙营销网站建站公司
  • 中国都有哪些网站猪八戒网可以做福彩网站吗
  • thinkphp做网站好吗网站如何添加统计代码
  • 免费阅读小说大全下载常用seo站长工具
  • 网络商城网站怎样做关键词优化正确设置网站keywords
  • 高校校园网网站内容如何建设网站运营的主要工作内容
  • 网站图片上传却不显示不出来怎么注册个人网站
  • 建材做网销哪个网站好教育局建设网站的必要性
  • 开发商城网站公司山西企业模板建站
  • 如何百度搜到网站网店美工的职责