C#创建一个只对我类的数组有效的方法
本文关键字:数组 方法 有效 创建 一个 | 更新日期: 2023-09-27 17:57:26
假设我有一个类foo
和另一个bar
。我想在foo
类中创建一个方法,将foo
数组转换为bar
对象(不是数组),如下所示:
foo[] v1 = new foo[] { };
bar v2 = v1.ToBar();
我该怎么做?
您可以使用扩展方法:
扩展方法使您能够将方法"添加"到现有类型,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但它们被调用时就好像它们是扩展类型上的实例方法一样。对于用C#和Visual Basic编写的客户端代码,调用扩展方法和在类型中实际定义的方法之间没有明显的区别。
您所需要的只是一个公共静态类来保存您的扩展方法。注意第一个方法参数之前的this
——这就是它成为扩展方法的原因。
public static class FooExtensions
{
public static Bar ToBar(this Foo[] source)
{
return new Bar(); // replace with correct logic;
}
}