【问题标题】:public keyword for multiple methods/members多个方法/成员的公共关键字
【发布时间】:2014-01-05 15:01:09
【问题描述】:

有没有什么方法可以在不多次使用关键字的情况下将多个方法标记为公开?

目前,我必须为每种方法都这样做:

class foo
{
public void doSomething();
public void doAnotherthing();
public int counter;
}

但是,如果您需要为一个类创建超过 150 个方法声明,这将非常令人沮丧,那么,还有其他方法吗?

【问题讨论】:

  • 不要创建具有 150 个方法的类? (对于您的问题,答案是否定的)。使用智能感知的力量来尽可能低地输入。
  • 如果你需要创建具有 150 个公共方法的类,那么你做错了
  • 如果复制和粘贴 public 很麻烦,我担心你会受到伤害。
  • 唉,如果您正在努力将public 添加到课程中,那么其余的将是一个非常令人讨厌的冲击。 (有时你必须在这些类语句中写protected internal static)。你最好开始做一些手指练习。
  • 我不会完全推荐它,但你可以想出一个正则表达式来查找不以“public”开头的方法声明并将它们添加进去。当然,这会搞砸任何方法你想保持私密。这可以通过包含您希望在一个区域中公开的方法并使正则表达式意识到这一点来解决。重申其他人所说的话,简短的回答是“不”。

标签: c# class public


【解决方案1】:

不,有 150 个方法的类称为大象类。如果你在课堂上有 150 种方法,我建议你开始阅读面向对象编程。

默认情况下,如果你不写任何方法,那么它是私有的,你需要明确地声明它是公共的。

【讨论】:

    【解决方案2】:

    如果您想要等效的公共访问权限,则不需要 public 关键字。这个问题应该有帮助:What is the difference between Public, Private, Protected, and Nothing?

    那些说 150 个方法对于一个类来说太多的人也是对的。 OOP 的很大一部分好处是模块化。每个类都应该有一个特定的目的,并且只包含特定于该目的的方法。

    【讨论】:

    • 这是一个 C# 问题,所以 C# 链接会更好。虽然概念相同,但 C# 中也有 internal 修饰符。
    • @Guffa 我的错,你是绝对正确的。不过,真正重要的一点是,您至少应该为每种方法添加一个关键字,以提高可读性。
    【解决方案3】:

    否,因为该语言的默认修饰符是 private

    【讨论】:

      猜你喜欢
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      相关资源
      最近更新 更多