zoukankan      html  css  js  c++  java
  • 使用自动生成代码软件 c#部分类

    处理大型项目时,使一个类分布于多个独立文件中可以让多位程序员同时对该类进行处理(相当于支持并行处理,很实用);

    –        使用自动生成的源时,无需重新创建源文件便可将代码添加到类中。

    动软生成的代码

    using System;
    using System.Data;
    using System.Text;
    using System.Data.SqlClient;
    using Maticsoft.DBUtility;//Please add references
    namespace HotelManager.DAL
    {
       /// <summary>
      /// 是否存在该记录
      /// </summary>
      public bool Exists(int TypeId)
      {
       StringBuilder strSql=new StringBuilder();
       strSql.Append("select count(1) from RoomType");
       strSql.Append(" where TypeId=@TypeId ");
       SqlParameter[] parameters = {
         new SqlParameter("@TypeId", SqlDbType.Int,4)};
       parameters[0].Value = TypeId;

       return DbHelperSQL.Exists(strSql.ToString(),parameters);
      }

    .......

    你如果想重载Exists(string typeName)写到动软生成的代码里面 当重新用动软生成的代码你写的重载代码就会被覆盖

    你可以再同级别目录下载创建一个类 (部分类)

    using System;
    using System.Data;
    using System.Text;
    using System.Data.SqlClient;
    using Maticsoft.DBUtility;//Please add references
    namespace HotelManager.DAL
    {
        /// <summary>
        /// 数据访问类:RoomTypeServices
        /// </summary>
        public partial class RoomTypeServices
        {
            /// <summary>
            /// 检测typename是否存在
            /// </summary>
            /// <param name="typeName"></param>
            /// <returns></returns>
            public bool Exists(string typeName)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select count(1) from RoomType");
                strSql.Append(" where TypeName=@typeName ");
                SqlParameter[] parameters = {
         new SqlParameter("@typeName", SqlDbType.NVarChar,50)};
                parameters[0].Value = typeName;

                return DbHelperSQL.Exists(strSql.ToString(), parameters);
            }

        }
    }

    使用Partial需要注意以下一些情况:

    1.      使用partial 关键字表明可在命名空间内定义该类、结构或接口的其他部分

    2.      所有部分都必须使用partial 关键字

    3.      各个部分必须具有相同的可访问性,如public、private 等

    4.      如果将任意部分声明为抽象的,则整个类型都被视为抽象的

    5.      如果将任意部分声明为密封的,则整个类型都被视为密封的

    6.      如果任意部分声明继承基类时,则整个类型都将继承该类

    7.      各个部分可以指定不同的基接口,最终类型将实现所有分部声明所列出的全部接口

    8.      在某一分部定义中声明的任何类、结构或接口成员可供所有其他部分使用

    9.嵌套类型可以是分部的,即使它们所嵌套于的类型本身并不是分部的也如此。

  • 相关阅读:
    SaaS多租户模式数据存储方案比较
    **Apache的Order Allow,Deny 详解
    php使用gd库将文字转换成图片(转)
    [git] warning: LF will be replaced by CRLF | fatal: CRLF would be replaced by LF[ git 处理和修改行结束符(CRLF和LF)]
    解决Linux CentOS中cp -f 复制强制覆盖的命令无效的方法
    【个人专用&入门级】LAMP一键安装包
    【转】负载均衡软件选型
    Apache不重新编译,利用apxs工具给Apache添加模块,如cgi模块
    [Apache手册]Linux环境下配置Apache运行cgi
    phpMyAdmin提示:配置文件权限错误,无法写入!解决方法
  • 原文地址:https://www.cnblogs.com/520cc/p/2740737.html
Copyright © 2011-2022 走看看