随笔:一些注意的问题

一些要注意的问题:
1、[Serializable]这个标签是类可以被序列化的特性,表示这个类可以被序列化。
      #region T_Role数据实体
      ///<summary>
      /// T_Role数据实体
      ///</summary>
       [Serializable]
        public class T_Role
       {
        }
       #endretion

2private 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 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。

3private 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
原文地址:https://www.cnblogs.com/d685600/p/3665959.html