C# c获取和设置方法与方法重载:哪个更好?

C# c获取和设置方法与方法重载:哪个更好?,c#,naming-conventions,C#,Naming Conventions,我可以这样做: { void SetAnything(para, para, para) {...} int GetAnything(para, para) {...} } { int Anything(para, para, para) {...} int Anything(para, para) {...} } { decimal Budget(department, year, decimal value) {...} decimal B

我可以这样做:

{
    void SetAnything(para, para, para) {...}
    int GetAnything(para, para) {...}
}
{
    int Anything(para, para, para) {...}
    int Anything(para, para) {...}
}
{
    decimal Budget(department, year, decimal value) {...}
    decimal Budget(department, year) {...}
}
。。或者我可以这样做:

{
    void SetAnything(para, para, para) {...}
    int GetAnything(para, para) {...}
}
{
    int Anything(para, para, para) {...}
    int Anything(para, para) {...}
}
{
    decimal Budget(department, year, decimal value) {...}
    decimal Budget(department, year) {...}
}
我必须决定走哪条路,所以我问你:

这两种方法之间的首选方式是什么?为什么

编辑:

谢谢你到目前为止的回复。由于不完全清楚我的方法在做什么,我稍微重写了一些示例:

{
    void SetBudget(department, year, decimal value) {...}
    decimal GetBudget(department, year) {...}
}
。。或者我可以这样做:

{
    void SetAnything(para, para, para) {...}
    int GetAnything(para, para) {...}
}
{
    int Anything(para, para, para) {...}
    int Anything(para, para) {...}
}
{
    decimal Budget(department, year, decimal value) {...}
    decimal Budget(department, year) {...}
}
。。甚至:

{
    void Budget(department, year, decimal value) {...}
    decimal Budget(department, year) {...}
}

仍然首选使用Set/Get前缀?

,它不会像任何人期望的那样过载。很明显,你在做两件不同的事情:设置和设置。

后期编辑


然而,事实仍然是,超载实际上实现了两个不同的目标;一个是设置,一个是获取。如果您使用给定的构造来实现这一点,那么这不会是一个问题;财产。但是,由于您实际上是在重载一个方法,所以它并不典型。

显然,第一种方法是正确的,第二种方法是不鼓励的

如果您正在寻找定义自定义getter和setter的方法,则命名应为:

Get[variable name]
Set[variable name]
因此,您现在可以通过名称、您正在做的事情以及您和其他人更容易清楚地看到代码在做什么


为完全不同的目的重载一个方法会导致混乱的代码,即调用一个方法,但为完全不同的目的重载版本。在代码中,您将如何决定使用哪个重载?仅仅通过参数的数量?听起来像是一场噩梦……

在C语言中,对于getter和setter有一个名为properties的东西……接受3个参数的方法如何在第二个代码段中返回int?它在第一个代码段中是无效的。@MichałTurczyn不,属性没有参数。@Sweeper好吧,在setter中有值,在getter中-为什么需要参数。。。我想我不完全理解这个问题: