2017-02-25 87 views
0

有没有办法从Main()中访问私有类变量,并将它们公开?我搜索了网络,但找不到任何可靠的答案。C#如何从Main()中访问私有类变量并将其公开化?

我对C#很新,我听说公开类变量是不好的做法,所以我想知道正确的做事方式。

谢谢。

+0

这是一个很好的介绍OOP的C#。有一个阅读,看看它是否为你清理了一些东西! https://msdn.microsoft.com/en-us/library/mt656686.aspx – edtheprogrammerguy

+0

您可以随时使用**内部**关键字而不是** public ** ..这样标记为每个部分只会是可以从您的程序集(程序)中获得,但不能用于其他程序集(其他程序,dll等) – ymz

回答

2

最终,除非您以某种方式允许发生这种情况,否则无法访问该类之外的私有字段,无论是使用属性还是使该字段公开。但是,如果您真的需要访问这些字段,那么如果您向类字段提供属性,则据说这是一种很好的做法。

例子:

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"; 
} 

可能有人会说,最终他们做同样的事情,但是,与该对象有怎样的数据访问或修改,即你可以限制某些数据成员完全控制被读取性能而不是被设置,反之亦然,或者根本没有。

+0

值得注意的是,您可以在一行中使用自动属性。只要做'public string Name {get;设置;}' –

+1

这是真的,但我只是想包括在那里的私人领域,所以他可以更好地了解我的意思。使用自动属性隐式创建私有字段,因此作者不知道我在做什么。此外,他还在他的问题中包含了他对C#新手,每个初学者都会首先以这种方式学习,然后跳转到自动属性。 –