C# 课程的哪些部分被指定为公共的?

C# 课程的哪些部分被指定为公共的?,c#,C#,正如上面所说,一个类的哪个部分应该是公共的? 我真的觉得这是一个安全问题 “什么类组件通常被指定为公共的?”类的公共部分是希望其他类与之交互的部分。这可能是方法、属性、委托等 类的私有部分是那些其他类不需要与之交互的部分,它们只是该类的内部部分。类的公共部分是希望其他类与之交互的部分。这可能是方法、属性、委托等 类的私有部分是其他类不需要与之交互的东西,并且只在该类内部。它不是一个安全问题 当一个类的作者将成员标记为private时,他不是说“你可能不知道”,而是说“你不必知道” 封装是关于设计

正如上面所说,一个类的哪个部分应该是公共的? 我真的觉得这是一个安全问题


“什么类组件通常被指定为公共的?”

类的公共部分是希望其他类与之交互的部分。这可能是方法、属性、委托等


类的私有部分是那些其他类不需要与之交互的部分,它们只是该类的内部部分。

类的公共部分是希望其他类与之交互的部分。这可能是方法、属性、委托等


类的私有部分是其他类不需要与之交互的东西,并且只在该类内部。

它不是一个安全问题

当一个类的作者将成员标记为
private
时,他不是说“你可能不知道”,而是说“你不必知道”


封装是关于设计(组织)一个包含“内部”和“外部”的类,而不是关于秘密或特权

这不是一个安全问题

当一个类的作者将成员标记为
private
时,他不是说“你可能不知道”,而是说“你不必知道”


封装是关于设计(组织)一个包含“内部”和“外部”的类,而不是关于秘密或特权

公共和私有类声明与安全性无关。它是关于信息隐藏的,目的是保持该类声称支持其客户机的契约的清晰定义(并声称在将来的修订中继续支持),以及保持需要以特定方式处理的实现细节(保持同步、一致的内部状态)或者,在将来的实现中可能需要在远离客户端的情况下进行更改

不要将公共访问和私人访问视为一种安全形式。这些访问修饰符主要存在于源代码中,主要由语言编译器在编译时强制执行;在运行时,任何程序或代码都能够使用.NET类型系统枚举类的公共和私有成员,并通过反射调用这些公共和私有成员


私有声明是一种社交礼仪,而不是安全性。

公共和私有类声明与安全性无关。它是关于信息隐藏的,目的是保持该类声称支持其客户机的契约的清晰定义(并声称在将来的修订中继续支持),以及保持需要以特定方式处理的实现细节(保持同步、一致的内部状态)或者,在将来的实现中可能需要在远离客户端的情况下进行更改

不要将公共访问和私人访问视为一种安全形式。这些访问修饰符主要存在于源代码中,主要由语言编译器在编译时强制执行;在运行时,任何程序或代码都能够使用.NET类型系统枚举类的公共和私有成员,并通过反射调用这些公共和私有成员

私有声明是一种社交礼仪,而不是安全性。

C#访问修饰符是设计的一个方面,不能真正用于安全性。显然,它们可以通过强制(实际上只是鼓励)某些访问模式来帮助您实现某种安全性(也就是说,您的内部API只鼓励通过某种工厂进行数据库连接,这种工厂与安全地或以某种一致的方式创建的连接字符串进行连接,或者所有对密码的访问都是通过类进行的,这些类的设计目的是正确地扰乱内存并在磁盘上加密),但它们不能真正加强安全性

Public、private、protected和internal是应用于类和成员的访问修饰符,它们与公开的接口以及它们在继承、程序集内和程序集间级别访问方面的行为有关

应该是公共的是需要在类(和程序集)之外具有访问可见性的成员。任何其他内容都不应公开,直到其在界面中的可见性需要得到适当证明。在许多情况下,我建议大多数内容都是私有的,直到证明它们需要公开为止。有时它们是显而易见的。当然,对于静态成员,您确实应该小心公开。

C#access修饰符是设计的一个方面,不能真正用于安全性。显然,它们可以通过强制(实际上只是鼓励)某些访问模式来帮助您实现某种安全性(也就是说,您的内部API只鼓励通过某种工厂进行数据库连接,这种工厂与安全地或以某种一致的方式创建的连接字符串进行连接,或者所有对密码的访问都是通过类进行的,这些类的设计目的是正确地扰乱内存并在磁盘上加密),但它们不能真正加强安全性

Public、private、protected和internal是应用于类和成员的访问修饰符,它们与公开的接口以及它们在继承、程序集内和程序集间级别访问方面的行为有关


应该是公共的是需要在类(和程序集)之外具有访问可见性的成员。任何其他内容都不应公开,直到其在接口中的可见性需要得到适当证明。在许多情况下,我建议大多数内容都是私有的,直到证明它们需要公开为止。有时它们是显而易见的。当然,对于静态成员,您在公开时应该非常小心。

哪个类?!你会想提供更多的背景,因为这是一个非常宽泛的问题。这并不意味着要宽泛。我最近被问到这个问题,遗憾的是无法回答