gpt4 book ai didi

c# - 当类是内部类时,为什么 C# 允许方法/成员公开

转载 作者:太空狗 更新时间:2023-10-29 18:19:29 25 4
gpt4 key购买 nike

我有一个标记为内部的类,并将字段和方法标记为公共(public)的。它编译时没有错误或警告。是否有任何特定需要将方法作为公共(public)方法并将类作为内部方法(除非它们是从接口(interface)或类中实现的)?

最佳答案

它没有任何不利影响,也意味着如果您决定将类型公开,则无需更改成员的可访问性。

基本上对于成员(member):

  • public 表示成员对任何可以看到类型的人都是可见的。

  • internal 表示成员仅在当前程序集中可见,即使 Type 是公开可见的。

因此您的选择将基于其中最合适的。一般来说,将成员公开是最合适的(即对任何可以看到类型的人可见,即类型的公共(public) API 的一部分)。将成员设置为内部成员的原因与在公共(public)类中将成员设置为内部成员的原因相同——通常是辅助成员,它们应该只对同一程序集中的“ friend ”类可见,并且不构成公共(public) API 的一部分。

此外,内部类型可以从公共(public)类型派生,因此可以继承和覆盖公共(public)成员。允许被覆盖的公共(public)成员而不是新的公共(public)成员是否有意义?

关于c# - 当类是内部类时,为什么 C# 允许方法/成员公开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2264727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com