有人可以详细说明C#中'protected'和'protected internal'修饰符之间的区别吗?看起来他们的行为方式相同.
C#7.2引入了private protected modifier.
我总是保护对具有属性的字段的访问,允许通过Get/Set方法进行访问,因为我通常不希望我的对象的内部状态被我自己的类以外的任何东西修改.
我试图理解为什么C#语言团队添加了这个功能.经过广泛搜索谷歌,阅读和观看"什么是新的"媒体(我看过Mads Torgerson的新闻稿,详细信息和视频),我仍然没有更聪明.
对我来说,这似乎允许开发人员打破Liskov替换原则,但这可能是因为我不明白为什么现在存在此功能.
我理解它是如何使用的,而不是为什么 - 请有人提供一个真实的使用示例而不是MSDN文档中的人为例子吗?