我想为我的网站创建一个包含很多私有(private)变量的类。

我认为有一种解决方案,不要为每个变量编写所有的getter和setter方法,例如

private int confirmed { get; set; }

这是正确的方法吗?然后,如何从类(class)外部访问此值?

我尝试了.confirmed,但收到错误消息说它是私有(private)的(据我了解)

但更令人惊讶的是,.getConfirmed()getconfirmed()也不起作用。

我认为{ get; set; }会隐式创建那些方法。

有人可以帮我澄清这个问题吗?

最佳答案

您可以将您的属性(property)声明为公共(public),然后将 getter 或 setter 分别标记为私有(private):

public int confirmed { get; private set; }

这样,您可以在定义的类之外访问confirmed:
Console.WriteLine(myClass.confirmed); // This is OK
myClass.confirmed = "Nothing"; // Can't do this

然后唯一可以设置confirmed值的人就是MyClass:
public class MyClass {
    public int confirmed { get; private set; }

    public MyClass() {
        this.confirmed = "This"; // This is fine as we have private access
    }
}

关于c# - 如何使用{get;访问私有(private)变量组; },我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21312870/

10-12 13:53