📜  C#中的部分方法

📅  最后修改于: 2021-05-29 18:25:53             🧑  作者: Mango

C#包含一个特殊的方法,称为局部方法,它在一个局部类中包含声明部分,在另一个局部类中包含定义部分,或者可以在同一局部类中包含声明和定义。
基本上,分部方法存在于分部类或结构中。如果部分方法在任何部分都不包含实现,则部分方法可能包含也可能不包含实现,那么编译器将不会在最终类或驱动程序类中创建该方法。借助partial关键字可以声明一个partial方法,如下所示。

句法:

partial void method_name
{
    // Code
}

重要事项:

  • 局部方法的声明必须以partial修饰符开头。
  • 部分方法可能包含参考。
  • 部分方法不包含out参数。
  • 它是隐式私有方法。
  • 它可以是静态方法。
  • 部分方法是通用的。
  • 它只能具有void返回类型。
  • 局部方法只能在局部类或局部结构中创建。

示例:我们有一个名为Circle的类。 Circle类的功能分为两个不同的文件,分别命名为circle1.cscircle2.cs 。这些circle1.cscircle2.cs文件包含Circle类的局部类和局部方法,即areacircle1.cs文件包含partialarea()方法的声明, circle2.cs文件包含area方法的实现,如下所示:

circle1.cs

public partial class Circle {
  
    // This file only contains
    // declaration of partial method
    partial void area(int p);
  
    public void Display()
    {
        Console.WriteLine("Example of partial method");
    }
}

circle2.cs

public partial class Circle {
  
    public void newarea(int a)
    {
        area(int a);
    }
  
    // This is the definition of
    // partial method
    partial void area(int r)
    {
        int A = 3.14 * r * r;
        Console.WriteLine("Area is : {0}", A);
    }
}

当我们执行上述代码时,编译器将circle1.cscircle2.cs到一个文件中,即如下所示的circle。

圆圈

public class Circle {
  
    public void Display()
    {
        Console.WriteLine("Example of partial method");
    }
  
    public void newarea(int a)
    {
        area(int a);
    }
  
    private void area(int r)
    {
        int A = 3.14 * r * r;
        Console.WriteLine("Area is : {0}", A);
    }
}