C#是否需要private关键字?

| (受此评论启发) 是否有需要使用
private
关键字的情况? (换句话说,省略关键字会导致不同的行为)     
已邀请:
        
public class Foo
{
    public int Bar { get; private set; }
}
省略单词“ private”将更改可访问性。     
           省略关键字[
private
]会导致不同行为的情况 David Yaw的回答给出了最常见的情况。这是另一个: 在
Account_generated.cs
中:
// Generated file. Do not edit!

public partial class Account
{
  ...

  private partial class Helper
  {
    ...
  }

  ...
}
AccountHandCoded.cs
中:
public partial class Account
{
  ...

  public partial class Helper
  {
    ...
  }

  ...
}
上面的代码将无法编译。
Account
的第一个\“ part \”要求嵌套类
Helper
private
。因此,手动编码器试图使“ 8”公开的尝试必须失败! 但是,如果类的第一部分只是省略了
private
关键字,则所有内容都将编译。 因此,对于
partial
类(以及结构,接口),无访问级别的声明
partial class Name
表示“该类的其他\'部分'可以决定应具有的可访问性\”。 显式给出默认的可访问性(对于非嵌套类型为
internal
,对于嵌套类型为ѭ0means)意味着\“此类必须具有最大的访问限制,而其他\'parts \'不能更改该事实\”。     
        “ 0”与运行时行为无关。这是为了使您的应用程序可维护。 “ 0”隐藏的内容只能通过“ 18”或“ 19”成员影响类之外的代码。 因此,对于运行时行为,答案是“否”,对于开发人员行为,答案是“是”!     
        在C#版本7.2和更高版本中。
private protected
关键字组合是成员访问修饰符。私有受保护成员可以通过包含类的派生类型进行访问,但只能在其包含程序集中进行访问。 https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/private-protected     

要回复问题请先登录注册