首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将“私有”字段声明为私有字段还是内部字段更好?

将“私有”字段声明为私有字段还是内部字段更好?
EN

Stack Overflow用户
提问于 2011-04-14 15:47:03
回答 3查看 645关注 0票数 2

将一项财产申报为私有财产还是内部财产比较好?And...why是一个优先选择而不是另一个?

与我一起工作的人一直将“私有”字段声明为内部字段,我认为it...so没有任何意义,我一定是遗漏了什么。

示例:

代码语言:javascript
代码运行次数:0
运行
复制
/// Someone I work with does this
public class SomeClass
{
    internal Document _document;
    internal Contractor _contractor;
    internal IUser _user;
    internal Project _project;
}

/// I usually do this
public class SomeClass
{
    private Document _document;
    private Contractor _contractor;
    private IUser _user;
    private Project _project;
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-14 15:49:52

通常,纯私有的自动实现的属性可能也是私有字段。

作为一个简单的经验法则,尽量限制每件事,而不造成太多的痛苦。如果程序集中没有任何其他属性使用这些属性(或者应该合理地使用这些属性),那么将它们设置为私有(并可能使它们成为普通字段)是一种很好的方法。

编辑:好吧,既然我们讨论的是字段,当然,一定要让它们成为私有的。非私有字段应该是非常罕见的--几乎我所能想到的唯一用途是常量(实际上是const,还是只是不可变类型的只读静态字段)。即使那样,我通常也会使用房产。只是偶尔对游戏和其他表现-关键的情况,这是值得打破规则-但你需要首先理解和尊重这些规则。

字段是实现细节--对于试图使用该对象的其他代码来说,您在对象中存储数据的方式不应该很有趣。关注类型应该支持的API与该API的实现之间的区别。

票数 4
EN

Stack Overflow用户

发布于 2011-04-14 15:49:19

字段和任何其他成员都应该使用最严格的访问修饰符声明,允许根据需要使用该成员。

  • internal只允许在同一个程序集中使用它,或者朋友assemblies
  • private只允许在类型本身(

)中使用

无论哪一个方案满足您的需要,都应该被选择。

不过,我猜private在这里更合适。考虑到字段名不符合.Net设计准则,它似乎意味着它对类型是私有的。因此,我会把它定为私密的,或者给它取一个合适的名字。

票数 11
EN

Stack Overflow用户

发布于 2011-04-14 15:49:54

这取决于你的要求。如果您需要其他类来访问同一个程序集中的变量,那么内部就是方法。如果不需要其他类进行访问,那么将它们声明为私有类。

可以在这里找到更多关于内部的信息:

Practical uses for the "internal" keyword in C#

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5665901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档