【发布时间】:2016-03-30 21:41:21
【问题描述】:
我知道不同访问修饰符之间的区别以及何时使用它们,但我不知道为什么。我知道它简化了一个项目,但还有其他用途吗?安全?
【问题讨论】:
-
访问修饰符是一个高级概念。它不会使您的代码更加安全。这一切都是为了让犯错更难,更直接地正确编码。
标签: c# security access-modifiers
我知道不同访问修饰符之间的区别以及何时使用它们,但我不知道为什么。我知道它简化了一个项目,但还有其他用途吗?安全?
【问题讨论】:
标签: c# security access-modifiers
如果所有内容都是公开的,那么可维护性会变得更加困难,因为您永远无法确定类/成员是否可以修改/删除,因为任何外部事物都可能使用它。如果某些内容被声明为私有/受保护/内部,那么当您稍后返回代码进行更改时,您可以清楚地了解可以访问它的内容以及如何在不破坏其他组件的情况下进行修改。
它还通过隐藏内部成员来降低外部眼睛的复杂性(封装)。
【讨论】:
顾名思义,它们允许您提供访问权限。您可以定义一个受保护的或私有的类成员,这使得它们在类对象之外无法访问。因此,它们更多的是关于访问权限而不是安全性。你可以阅读更多here
【讨论】:
在大团队中,一切都变得更加清晰。比如说,你给了别人你的 .dll,但他们没有你的源代码。你想写很多带有“USE IT SPARELY”的XML-cmets吗?
有时 - 您的 .dll 是您的最终产品。你需要避免错误
所以,我认为合适的用例:
为了避免使用不应独立调用的内部方法。如果您有一系列私有方法 - 使用共享属性/字段 - 您不希望有人使用它们并引发意外异常,对吗?
为了避免混淆用于内部目的的属性/字段
还有更多……
【讨论】: