Razor罗桌 Razor罗桌
关注数: 0 粉丝数: 206 发帖数: 184 关注贴吧数: 8
C# 代码风格要求 1.1注释 类型、属性、事件、方法、方法参数,根据需要添加注释。 如果类型、属性、事件、方法、方法参数的名称已经是自解释了,则不需要加注释;否则必须添加注释。 当添加注释时,添加方式如下图所示:1.2 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名 优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,不得出现中文。 唯一可以使用中文的地方是枚举的枚举项,枚举项实际已经不属于本节标题的范畴了。这里只是放到一起说明,如下图所示:1.3 不使用缩写 所有类型、方法、参数、变量的命名不得使用缩写,包括大家熟知的缩写,例如msg。 1.4 代码使用半展开 第一步,打开Visual Studio,进入“工具”,“选项...”,如下图所示:第二步,进入“文本编辑器”,“C#”,“格式设置”,“新行”,取消掉右侧所有复选框中的对号,如下图所示:第三步,点击“确定”,完成设置。 1.5 使用Tab作为缩进,并设置缩进大小为4 第一步,打开Visual Studio,进入“工具”,“选项...”,如下图所示:第二步,进入“文本编辑器”,“C#”,“制表符”,如下图所示,设置制表符。第三步,点击“确定”,完成设置。 1.6 一个.cs源文件至多定义两个类型 如果两个类型的关系是紧密相关的,比如 产品、产品类型,此时Product类,和ProductType枚举可以定义在同一个Product.cs文件中。 但不能在一个.cs文件中出现两个不相关的类型定义,例如将 Product类和Reseller类(分销商)定义在一个BasicInfo.cs文件中。 1.7 类型名称和源文件名称必须一致 当类型命名为Product时,其源文件命名只能是Product.cs。 1.8 所有命名空间、类型名称使用Pascal风格(单词首字母大写) 如下图所示,红色标记的为使用Pascal风格的类型:注意ProductType是私有类型,不管类型是公有的还是私有的,其命名总是采用Pascal风格。 1.9 本地变量、方法参数名称使用Camel风格(首字母小写,其后每个单词的首字母大写) 红色标记的为使用Camel风格的变量或者方法参数:1.10 私有方法、受保护方法,使用Camel风格命名 示例代码如下:1.12 如果if语句内容只有一行,可以不加花括号,但是必须和if语句位于同一行 范例1.9 中的if判断实际上与下面的语句是等效的:1.13 调用类型内部其他成员,需加this;调用父类成员,需加base 示例代码如下:1.14 类型内部的私有和受保护字段,使用Camel风格命名,但加“_”前缀 代码示例如下:1.15 不能出现公有字段 如果需要公有字段,使用属性进行包装。 1.16 类型成员的排列顺序 类型成员的排列顺序自上而下依次为: 字段:私有字段、受保护字段 属性:私有属性、受保护属性、公有属性 事件:私有事件、受保护事件、公有事件 构造函数:参数数量最多的构造函数,参数数量中等的构造函数,参数数量最少的构造函数 方法:重载方法的排列顺序与构造函数相同,从参数数量最多往下至参数最少。1.17 委托和事件的命名 委托以EventHandler作为后缀命名,例如 SalesOutEventHandler。 事件以其对应的委托类型,去掉EventHandler后缀,并加上On前缀构成。 例如,对于SalesOutEventHandler委托类型的事件,其事件名称为:OnSalesOut。 示例代码如下:1.18 返回bool类型的方法、属性的命名 如果方法返回的类型为bool类型,则其前缀为Is、Can或者 Try,例如:1.19 常见集合类型后缀命名 凡符合下表所列的集合类型,应添加相应的后缀。 说明 后缀 示例 数组 Array int[] productArray 列表 List List<Product> productList DataTable/HashTable Table HashTable productTable 字典 Dictionary Dictionay<string,string> productDictionary EF中的DbSet /DataSet Set DbSet<Product> productSet 1.20 常见后缀命名 凡符合下表所列的局部变量、方法参数、字段、属性,均需添加相应的后缀。 说明 后缀 示例 示例说明 费用相关 Cost ShipCost 运输费 价格相关 Price ProductUnitPrice 产品单价 消息相关 Message(弃用Note) SuccessMessage 成功消息 日期相关 Date(弃用Time) OrderDate 下单日期 计数、数量相关 Count(弃用Time) LoginCount 登录次数 链接地址相关 Url BlogUrl 博客链接 图片相关 Image SignImage 签名图片 金额相关 Amount PrepaidAmount 预付款 点数、积分相关 Point MemberPoint 会员积分 记录、日志相关 Record(弃用Log) ErrorRecord 错误记录 配置相关 Config DataBaseConfig 数据库配置 状态相关 Status OrderStatus 订单状态 模式、方式相关 Mode OpenMode 打开方式 种类相关 Category / Type 二选一 UserCategory 用户种类 工厂类相关 Factory ConnectionFactory 连接工厂 启用相关 Enabled ExportEnabled 开启导出 流相关 Stream UploadStream 上传流 读取器相关 Reader ExcelReader Excel读取器 写入器相关 Writer ExcelWriter Excel写入器 适配器相关 Adapter IntroOPAdapter IntroOP适配器 提供器相关 Provider MemebershipProvider 会员信息提供器 包装器相关 Wrapper ProductWrapper Product包装器 连接相关 Connection ExcelConnection Excel连接 1.21 常见类型命名 凡存在下表中的类型,需采用下表指定的名称命名。 类型 命名 类型 命名 客户 Customer 分销商 Reseller 零售商 Retailer 经销商/批发商 Dealer 用户 UserInfo(User为数据库关键字) 订单 OrderInfo(Order为数据库关键字) 供应商 Supplier 管理员 Admin 密码 Password 会员 Member 评论 Remark(弃用Comment) 文章 Article 新闻 News 发票 Invoice 导入 Import 导出 Export 公司、企业 Company(弃用Enterprise) 产品 Product 省份 Province 城市 City 区县 District 地址 Address 角色 Role(弃用Group) 权限 Authority(弃用Permission) 仓库 Warehouse 工厂 Plant 登录 Login(弃用SignIn) 登出 LogOut(弃用SignOut) 创建 Create(弃用Add) 编辑 Edit 更新 Update 删除 Remove(弃用Delete) 照片 Photo 图片 Image 1.22 常见字段、属性命名 字段、属性种类比较繁杂,因此仅列出最常用的几项。 类型 名称 类型 名称 Id(int型) Id(“d”小写,弃用ID) GuidId(Guid型) Id Name 名称 Title 标题 Remark 备注、描述(弃用Memo、Description) Category 种类(弃用Class、Type) Linkman 联系人
DevExpress GridControl使用 //不显示内置的导航条。 gc1.UseEmbeddedNavigator = false; //不显示分组的面板 gv1.OptionsView.ShowGroupPanel = false; gv2.OptionsView.ShowGroupPanel = false; //自动改变行高适应内容 gv1.OptionsView.RowAutoHeight = true; gv2.OptionsView.RowAutoHeight = true; //允许自动合并单元格 gv1.OptionsView.AllowCellMerge = true; //如果主从表中,没有找到从表内容也要显示(默认是不显示的) gv1.OptionsDetail.AllowExpandEmptyDetails = true; //显示自动筛选行(效果跟Excel的自动筛选差不多) gv2.OptionsView.ShowAutoFilterRow = true; //使得GridView不能编辑 gv1.OptionsBehavior.Editable = false; gv2.OptionsBehavior.Editable = false; //内置编辑器显示的模式 gv1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click; //主从表显示的功能是否可用 //gv1.OptionsDetail.EnableMasterViewMode = false; //如果显示了主从表,每点开个加号,就会显示一个Tabs,里面往往显示了两个面板。 //事实上没必要这样干的。一般选择关闭。关闭的对象是主GridView的此项属性。 gv1.OptionsDetail.ShowDetailTabs = false; //焦点单元格的列 gridview1.FocusedColumn //焦点单元格所在行的行号 gridview1.FocusedRowHandle //焦点单元格的值 gridview1.FocusedValue //指定单元格显示的字符串值 gridview1.GetRowCellDisplayText(int rowHandler,string feildName) //指定单元格的值 gridview1.GetRowCellValue(int rowHandler,string feildName) //设置焦点单元格所在行指定列的值 gridview1.SetFocusedRowCellValue(GridColumn col,object value) //设置焦点单元格的值 gridview1.SetFocusedValue(object value) //设置指定单元格的值 //有了这个函数,就可以手工创建行了。 gridview1.SetRowCellValue(int rowHandler,string feildName,object value) gridview1.SetRowCellValue(int rowHandler,GridColumn col,object value) //添加新行的方法 gv1.AddNewRow(); http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.cnblogs.com%2Fdjian%2Farchive%2F2010%2F11%2F19%2F1881579.html&urlrefer=c1bb6f615b2ad2b47a4b9e8a83eb1769
Dev里面DataGid控件使用方法之一 (1)Dev控件GridControl 的使用 1、确认当前正在编辑的单元格的输入 this.gridview1.CloseEditor(); 2、保存当前行的值到数据源 this.gridview1.UpdateCurrentRow(); 3、通过数据适配器把修改更新到数据库 sqlDataAdapter1.Update(myDataSet, "MyTable") //此时直接通过DataAdapter执行Update就可以 按照1,2,3的步骤执行;也可以通过1,2步骤然后通过Sql实现 (2)DataGrid的初始化 gridView1.OptionsView.EnableAppearanceEvenRow = true; gridView1.OptionsView.EnableAppearanceOddRow = true; gridView1.OptionsView.ShowFilterPanel = false; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsView.ShowGroupPanel=false; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsCustomization.AllowColumnMoving = false; gridView1.OptionsCustomization.AllowColumnResizing = false; gridView1.OptionsCustomization.AllowGroup = false; gridView1.OptionsCustomization.AllowFilter = false; gridView1.OptionsCustomization.AllowSort = true; (3)获取选中的行 和选中行的字段的内容int[] a = this.gridView1.GetSelectedRows(); //传递实体类过去 获取选中的行LAA.AssetGuid = this.gridView1.GetRowCellValue(a[0], "AssetGuid").ToString();//获取选中行的内容(4)以前在windows 自带的控件里面Button控件的相互调用是 button1_Click(null,EventArgs.Empty); Dev控件下面是 simpleButton1_Click(new object(),new EventArgs()); 转自http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.cnblogs.com%2Fjhtchina%2Farticles%2F252438.html&urlrefer=bb9a3e0f02d9bd60ba46249b0dd55b3e
DevExpress 皮肤使用方法 第一步让所有窗体都从DevExpress.XtraEditors.XtraForm继承。   第二步:添加两个引用:   DevExpress.BonusSkins.v9.2   DevExpress.OfficeSkins.v9.2   第三步:在软件的入口Program类的main函数的第一行代码前加上:   DevExpress.UserSkins.BonusSkins.Register();   DevExpress.UserSkins.OfficeSkins.Register();   DevExpress.Skins.SkinManager.EnableFormSkins();   Application.EnableVisualStyles();   Application.SetCompatibleTextRenderingDefault(false);   Application.Run(new FormMain());   第四步:建立一个窗体基类 ,其中加上   1 public class frmBase: DevExpress.XtraEditors.XtraForm   2 {   3 protected static DevExpress.LookAndFeel.DefaultLookAndFeel defaultLookAndFeel=new DevExpress.LookAndFeel.DefaultLookAndFeel();   4 }   第五步:新窗体都继承于frmbase   第六步:在其中一个窗体上把皮肤全部枚举出来放到一个ComboBoxEdit中,代码如下: foreach (DevExpress.Skins.SkinContainer skin in DevExpress.Skins.SkinManager.Default.Skins) cmbAppStyle.Properties.Items.Add(skin.SkinName);   第七部:设置皮肤,怎样设置皮肤呢,只需设置基类的DefaultLookAndFeel即可,代码如下: frmBase.defaultLookAndFeel.LookAndFeel.SkinName = cmbAppStyle.EditValue.ToString(); 这样整个项目中所有的窗体皮肤都焕然一新了。 转自http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.cnblogs.com%2Fcfas%2Farchive%2F2013%2F05%2F31%2F3111642.html&urlrefer=6b43f6affd577d304c5c3beecf371c3a
1 下一页