有没有办法从Main()中访问私有类变量,并将它们公开?我搜索了网络,但找不到任何可靠的答案。C#如何从Main()中访问私有类变量并将其公开化?
我对C#很新,我听说公开类变量是不好的做法,所以我想知道正确的做事方式。
谢谢。
有没有办法从Main()中访问私有类变量,并将它们公开?我搜索了网络,但找不到任何可靠的答案。C#如何从Main()中访问私有类变量并将其公开化?
我对C#很新,我听说公开类变量是不好的做法,所以我想知道正确的做事方式。
谢谢。
最终,除非您以某种方式允许发生这种情况,否则无法访问该类之外的私有字段,无论是使用属性还是使该字段公开。但是,如果您真的需要访问这些字段,那么如果您向类字段提供属性,则据说这是一种很好的做法。
例子:
class Animal{ // this is said to be a good practise
private string name = "Cat";
public string Name{
get{return this.name;}
set{this.name = value;}
}
}
class Animal{ // this is said to be bad practise
public name = "Cat";
}
可能有人会说,最终他们做同样的事情,但是,与该对象有怎样的数据访问或修改,即你可以限制某些数据成员完全控制被读取性能而不是被设置,反之亦然,或者根本没有。
值得注意的是,您可以在一行中使用自动属性。只要做'public string Name {get;设置;}' –
这是真的,但我只是想包括在那里的私人领域,所以他可以更好地了解我的意思。使用自动属性隐式创建私有字段,因此作者不知道我在做什么。此外,他还在他的问题中包含了他对C#新手,每个初学者都会首先以这种方式学习,然后跳转到自动属性。 –
这是一个很好的介绍OOP的C#。有一个阅读,看看它是否为你清理了一些东西! https://msdn.microsoft.com/en-us/library/mt656686.aspx – edtheprogrammerguy
您可以随时使用**内部**关键字而不是** public ** ..这样标记为每个部分只会是可以从您的程序集(程序)中获得,但不能用于其他程序集(其他程序,dll等) – ymz