C#创建一个只对我类的数组有效的方法

本文关键字:数组 方法 有效 创建 一个 | 更新日期: 2023-09-27 17:57:26

假设我有一个类foo和另一个bar。我想在foo类中创建一个方法,将foo数组转换为bar对象(不是数组),如下所示:

foo[] v1 = new foo[] { };
bar v2 = v1.ToBar();

我该怎么做?

C#创建一个只对我类的数组有效的方法

您可以使用扩展方法

扩展方法使您能够将方法"添加"到现有类型,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但它们被调用时就好像它们是扩展类型上的实例方法一样。对于用C#和Visual Basic编写的客户端代码,调用扩展方法和在类型中实际定义的方法之间没有明显的区别。

您所需要的只是一个公共静态类来保存您的扩展方法。注意第一个方法参数之前的this——这就是它成为扩展方法的原因。

public static class FooExtensions
{ 
    public static Bar ToBar(this Foo[] source)
    {
        return new Bar();  // replace with correct logic;
    }
}