Toa*_*ums 2 c# arrays methods class
我不知道怎么说这个问题,很抱歉,如果它真的没有意义,但它应该在这里开始有意义.此外,如果解决方案真的非常简单,我很抱歉.谷歌无法理解我在问什么(probs因为我错了:P)
所以我写了一个我打电话的课 OrderSelection
在我的程序中,我需要有一个OrderSelection对象数组,我需要对这个数组执行操作(重新排序,排序等).
我现在正在做的是保持OrderSelection类中的方法,例如,接受您想要重新排序的数组.
就像是:
public void reorder(OrderSelection[] ord, int switchX, int switchY){....}
Run Code Online (Sandbox Code Playgroud)
但我想要做的是:
OrderSelection[] order = new OrderSelection[10];
//do stuff
order.reorder(1,2);//which is WAY better than order[0].reorder(order, 1,2) as a horrid example
Run Code Online (Sandbox Code Playgroud)
所以是的...我如何添加这些我想要应用于我的类对象数组的函数?
谢谢!
您正在寻找扩展方法. 这是MSDN文档.
编写扩展方法如下所示:
public static class OrderSelectionExtensionMethods
{
public static void reorder(this OrderSelection[] orders, int x, int y)
{
// Do something with each order
}
}
Run Code Online (Sandbox Code Playgroud)
扩展方法通常在完全独立的类中定义.
此外,扩展方法还需要两件事:
staticthis前面的关键字使用上面的代码,您的示例代码将编译正常:
OrderSelection[] order = new OrderSelection[10];
//do stuff
order.reorder(1,2);
Run Code Online (Sandbox Code Playgroud)
这与编写以下内容完全相同:
OrderSelection[] order = new OrderSelection[10];
//do stuff
OrderSelectionExtensionMethods.reorder(order, 1, 2);
Run Code Online (Sandbox Code Playgroud)