将"私人"字段声明为私有字段还是内部字段更好?

Pri*_*ERO 2 c# keyword

将财产声明为私有或内部是否更好?并且......为什么一个人优先于另一个?

我工作的人一直声称"私人"字段是内部的,我认为没有任何意义......所以我必须遗漏一些东西.

例:

/// 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;
}
Run Code Online (Sandbox Code Playgroud)

Jar*_*Par 11

应使用限制性最大的访问修饰符声明字段和任何其他成员,以允许根据需要使用该成员.

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

无论哪种方案满足您的方案,都应该选择.

我猜private这里更合适.鉴于字段名称不符合.Net设计指南,它似乎是该类型的私有.因此,我会将其设为私有或给它一个合适的名称.