"参数和类型参数名称在实现声明中与定义参数名称不必相同"是什么意思?

DPM*_*DPM 2 c# partial-methods

在阅读C#文档中的"部分方法"时,我发现了以下句子:

参数和类型参数名称在实现声明中不必与定义参数名称相同.

有人可以通过一个例子解释我这句话的意思吗?

Cod*_*ter 5

这意味着以下代码,请注意参数名称,成功编译:

// Definition in file1.cs
partial void Foo(string foo);

// Implementation in file2.cs
partial void Foo(string bar)
{
  // method body
}
Run Code Online (Sandbox Code Playgroud)

就像接口的情况一样:

public interface IFoo
{
    void Bar(string baz);
}

public class Foo : IFoo
{
    public void Bar(string qux)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

这是重要的参数顺序.您可以在实现中选择所需的任何有效名称.

对于"类型参数名"的部分,这部分特别是关于仿制药(TV),其中同样的顺序问题,而不是名称:

// Definition in file1.cs
partial void Foo<T>(string foo);

// Implementation in file2.cs
partial void Foo<V>(string bar)
{
  // method body
}
Run Code Online (Sandbox Code Playgroud)