C# 如果我把所有函数都作为类的静态方法,这是个好主意吗?

C# 如果我把所有函数都作为类的静态方法,这是个好主意吗?,c#,c++,C#,C++,我有一些函数是实用函数,它们作为函数放在名称空间中 有一些C#方面的经验,我知道创建这样的函数是不可能的,您需要在一个类中收集所有函数,并将它们定义为静态函数 在这里做同样的事是个好主意吗?创建一个类并将所有相关函数放在该类的静态方法中?有速度差吗 我看到了这个线程,但在这个答案上有一个很大的错误:我使用的类具有静态方法,而没有其他类型的方法或状态。因此,静态方法不可能使用类的内部数据 所有现代OO语言(如C#和java)都不允许将方法单独放在名称空间上,因此应该有一个很好的理由。我认为原因很清

我有一些函数是实用函数,它们作为函数放在名称空间中

有一些C#方面的经验,我知道创建这样的函数是不可能的,您需要在一个类中收集所有函数,并将它们定义为静态函数

在这里做同样的事是个好主意吗?创建一个类并将所有相关函数放在该类的静态方法中?有速度差吗

我看到了这个线程,但在这个答案上有一个很大的错误:我使用的类具有静态方法,而没有其他类型的方法或状态。因此,静态方法不可能使用类的内部数据

所有现代OO语言(如C#和java)都不允许将方法单独放在名称空间上,因此应该有一个很好的理由。我认为原因很清楚:在OO系统中,我们有类,没有函数


C++诞生于C,因此我们可以在名称空间内创建函数,但我们不应该这样做

根本没有速度差。一般来说,在C++中,当前的解决方案被认为是更好的编码实践。如需有关详细信息,请参阅此线程:

无速度差异。好主意-根据你的SW设计方案。当然,在C++中,你可以在命名空间中放置免费函数。我认为这是一种非常有效的方法,防止使用<命名空间< /代码>(在标题中的全局级别)滥用<代码>,这是许多开发人员不理解结果的原因。我看到了这个线程,但是这个答案有一个很大的错误:我使用的类有静态方法,没有其他类型的方法或状态。因此,静态方法不可能使用类的内部数据。