在C#中传递与类字段变量同名的参数

pro*_*eek 5 c#

使用C++,我可以编写如下代码.

class Terminal {
    int uid;

public:
    void SetUid(int uid) {self.uid = uid;}
};
Run Code Online (Sandbox Code Playgroud)

我在C#中尝试过类似的东西,但是我收到了一个错误.我试过以下,但它看起来很难看.

class Terminal {
    int uid;

public void SetUid(int uid_) {uid = uid_;}
}
Run Code Online (Sandbox Code Playgroud)

当你想在C#中传递一个具有相同名称的类字段变量的参数时,你会使用什么?

cdh*_*wie 5

class Terminal {
    int uid;

    public void SetUid(int uid) { this.uid = uid; }
}
Run Code Online (Sandbox Code Playgroud)

但是,我会考虑使用属性来代替:

class Terminal {
    public int Uid { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

getter 和 setter 方法通常带有不正确的 C# 设计味道,因为属性为您提供了封装在大量语法糖中的 getter/setter 机制。