函数应该以"Get"开头?

Alo*_*kin 7 c# standards coding-style

我正在尝试查看C#编码标准,以使我的代码更加美观和标准,我有一个问题:根据C#编码标准,函数(非空隙的方法)应该以"Get"开头吗?例如:" GetSongOrder()"," GetNextLine()"等?

谢谢.

Ree*_*sey 24

有两种情况:

如果例程可以非常快速地"获取"值,而不会在代码中引起副作用,我建议使用属性getter,并省略"get"名称:

public SongOrder SongOrder
{
   get { return this.songOrder; } // ie: an enum
}
Run Code Online (Sandbox Code Playgroud)

但是,如果需要处理,则使用"获取..."名称的方法是合适的.这表明调用此方法可能会产生副作用,例如额外处理或某些状态的更改:

public string GetNextLine()
{
    string line = this.stream.ReadLine(); // This may cause a longer running operation, especially if it's using Disk IO/etc
    // do other work?
    return line;
}
Run Code Online (Sandbox Code Playgroud)