zoukankan      html  css  js  c++  java
  • c# 4.0新功能--局部方法

    说到局部方法,必须先了解一下局部类。

    局部类,就是将一个类,分成多个cs文件,每个文件使用相同的类名,并用Partial关键字修饰。编译时,编译器会将他们合成一个完整的类。

    eg:

    // Book1.cs
    public partial Book
    {
          string BookName{set;get;}
          string ISBN{set;get;}
    
    }
    
    // Book2.cs
    public partial Book
    {
          int Price{set;get;}
    }

    局部方法,就是在局部类的其中一个类文件中声明方法,在另一个类文件中实现方法。

    eg:

    // Book1.cs
    public partial Book
    {
          string BookName{set;get;}
          string ISBN{set;get;}
          
          public  int  ByBook(int num)
          {
                int intTotalPrice=0;
                GetTotalPrice(num,ref intTotalPrice)
                return intTotalPrice;
          }
    
         //局部方法 GetTotalPrice的声明,使用partial修改符,无返回值
         partial void GetTotalPrice(int num,ref  int intTotalPrice);
    }
    
    // Book2.cs
    public partial Book
    {
          int Price{set;get;}
          //局部方法 GetTotalPrice的实现
          partial void GetTotalPrice(int num,ref  int intTotalPrice)
          {
                intTotalPrice=Price*num;
          }
    }

    局部方法技术与局部类技术在团队开发中非常有用,可以让一个开发人员定义方法的声明,而让另外一个开发人员定义方法的实现。

     限制:

    1、局部方法仅用于局部类中。
    2、局部方法的返回值必须是void
    3、局部方法可以是静态的或者是实例化的。
    4、局部方法可以有参数,可以包含参数修饰符如thisrefParams,但是不包括out修饰符。
    5、局部方法隐式的访问级别为private,因此不能为虚方法。

    静守己心,看淡浮华
  • 相关阅读:
    ES6 语法详解(Promise对象(重点))
    ES6 语法详解(形参默认值)
    ES6 语法详解(三点运算符)
    ES6 语法详解(箭头函数(重点))
    ES6 语法详解(简化的对象写法)
    ES6 语法详解(模板字符串)
    ES6 语法详解(变量的解构赋值)
    [刷题] 走迷宫
    [bug] A reference cannot be reassigned, so it must be initialized at the member-initialization-list.
    [Qt] LibreCAD 源码分析
  • 原文地址:https://www.cnblogs.com/jianglingli83/p/3226939.html
Copyright © 2011-2022 走看看