gpt4 book ai didi

c# - 在这种情况下我应该使用扩展方法还是成员方法?

转载 作者:太空宇宙 更新时间:2023-11-03 20:31:51 24 4
gpt4 key购买 nike

例如,

        class Aclass
{
void method1()
{
int[] a = new int[5]{1,2,3,4,5};
var b = a.Accumulated().ToArray(); // so that b = {1,3,6,10,15}
}
}

目前 Accumulated() 是一种扩展方法。然而,我认为等效的方法是在 Aclass 中定义一个私有(private)成员方法,以便 MakeAccumulated(a).ToArray() 给出 {1,3,6,10,15}.

什么是好的做法?

最佳答案

Aclass 是对 Aclass 对象具有逻辑意义的方法的地方;最佳实践是不要将它用作辅助函数的一般存储。一个好的经验法则是,如果一个方法从不引用成员变量,那么它可能在类中不合适。

int 数组上的函数可能在 Aclass 中没有位置。我会把它放在扩展方法中。

关于c# - 在这种情况下我应该使用扩展方法还是成员方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7153881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com