C#包含一个特殊的方法,称为局部方法,它在一个局部类中包含声明部分,在另一个局部类中包含定义部分,或者可以在同一局部类中包含声明和定义。
基本上,分部方法存在于分部类或结构中。如果部分方法在任何部分都不包含实现,则部分方法可能包含也可能不包含实现,那么编译器将不会在最终类或驱动程序类中创建该方法。借助partial关键字可以声明一个partial方法,如下所示。
句法:
partial void method_name
{
// Code
}
重要事项:
- 局部方法的声明必须以partial修饰符开头。
- 部分方法可能包含参考。
- 部分方法不包含out参数。
- 它是隐式私有方法。
- 它可以是静态方法。
- 部分方法是通用的。
- 它只能具有void返回类型。
- 局部方法只能在局部类或局部结构中创建。
示例:我们有一个名为Circle的类。 Circle类的功能分为两个不同的文件,分别命名为circle1.cs
和circle2.cs
。这些circle1.cs
和circle2.cs
文件包含Circle类的局部类和局部方法,即area 。 circle1.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.cs
和circle2.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);
}
}