随笔:一些注意的问题
一些要注意的问题: 1、[Serializable]这个标签是类可以被序列化的特性,表示这个类可以被序列化。 #region T_Role数据实体 ///<summary> /// T_Role数据实体 ///</summary> [Serializable] public class T_Role { } #endretion 2、private int _taskLogDeatilID;//加下划线习惯问题 private Guid _userID=Guid.Empty;//Guid类型,注意Guid.Empty; 好处是你不用担心ID重复问题,并且无法推测下一个值是什么,对于网络应用更安全一些。 1.一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。 2.GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:337c7f2b-7a34-4f50-9141-bab9e6478cc8 即为有效的 GUID 值。 3.世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。 4. 在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。 3、private int _memo=String.Empty;//日志正文一般DateTime或string会用Empty String.Empty用于字符串初始化,例如,String a; Console.WriteLine(a);就会报错 而String a=string Empty;Console.WriteLine(a);不会报错, 这个也可以用于比较a==""和a==string.Empty一样的效果。 4、变量定义和封装后的公共属性可以不写到一起,然后折叠起来。 #region 变量定义 private int _taskLogDetailID; #endregion #region 公共属性 /// <summary> /// ID //注意这个要加上,代码规范 /// </summary> public int TaskLogDetailID { get{return _taskLogDetailID}; set{_taskLogDetailID=value}; } #endregion 5、在实体类中的定义字段的时候,不一定都是按数据库表中的定义,也可以自定义不是数据库给的字段。例如:private int _istoday;//查询时自定义添加判断是否是今天(这要自定义不是数据库给的) 6、在实体类中,要定义构造函数,并用标签折叠好 #region /// <summary> /// T_TaskLogDetail /// </summary> public V_TaskLog() { } #endregion 构造函数:简单的来说构造函数就是用来创建对象用的,说的专业些叫实例化对象。定义:class A{public A(){}}使用:A a=new A();//在这里,A()就是就是构造函数。需要注意的一点是,如果类里 面没有定义构造函数,编译器也会自动生产一个空构造函数,类的各个成员都赋上默认值。但是如果在类里面只定义了一个私有的构造函数的时候,那么这个类将不能被实例化。
class A{string a;private A() { }//这个类不能被实例化} 如果我们定义了带参数的构造函数,而没有定义不带参数的构造函数,那么在实例化这个类的对象的时候必须提供参数。
class A{string a;public A(string str) {a=str; }} 不能这么实例化对象 A a=new A(); 7、新闻类的定义,记录ID,标题;正文;消息来源;发布日期;发布人ID;咨询类型int(1=新闻,2=公告,3=通知);状态int(0=删除,1=未发布,2=发布);置顶int 8、定义实体类中,一般需要定义一个字典表,一般放到最后构造函数之后,如职务类中,怎么用呢,//待定 public T_Job ( Guid jobID, string jobName, int sortIndex ) { _jobID=jobID; string jobName; _sortIndex=sortIndex; }
9、设置cookie的过程,CookieHelper是一个公共类。放到Common里面 if(checkbox.checked) { CookieHelper.SetCookie("myUserName",userName,DateTime.Now.AddYears[1]); } else { CookieHelper.RemoveCookie("myUserName"); } public sealed class CookieHelper { private CookieHelper() { } ///<summary> ///获取一个数组形式的Cookies ///<summary> public static HttpCookie GetCookie(string name) { if(!string.IsNullOrEmpty(name)) { return HttpContext.Current.Request.Cookies[name]; } } }//具体的可以把Cookie的获取,保存封装成一个类。参照备忘Cookies设置。 10、用户授权:需要建立用户授权信息实体类,Guid_UserID,Username,FullName,JobName,OrgID