none
什么情况下方法前面应该用public static RRS feed

  • 问题

  • 有时候写一个方法并不知道它是静态还是不是静态的所以不知道什么时候该用public static修饰方法,怎么样判断方法是静态还是非静态的呢,有没有什么技巧和经验呢,希望高手给点意见,多谢

    2010年4月7日 2:59

答案

  • 对于大部分不更改其中参数的函数

    都可以用STATIC

     

    2010年4月7日 3:09
  • 不需要实体的都可以搞成static,也就是不需要用到类变量(静态变量可以用)就可以实现所需要的功能。

    静态的意义就是全世界只有一个,变量只有一个,要改大家一起改,函数也只有一个,大家都一样。

    如果初学,不大建议用静态,因为这个超越了类的界限,初期容易搞糊涂掉。


    霸王
    2010年4月7日 4:27
  • 根据 FxCop 设计准侧,凡是方法中没有引导用 this 的 (也就是实例变量、属性、事件、方法等),一律需要将此方法标记为 static。public 的话根据方法的作用域而定,需要提供给外界访问的方法会被标记为 public。

    这也就是为什么 StyleCop 中一定要在访问实例成员时加上 this,访问静态成员时加上类型名称的原因。这样设计时就一目了然了。


    Mark Zhou
    2010年4月7日 7:37

全部回复

  • 对于大部分不更改其中参数的函数

    都可以用STATIC

     

    2010年4月7日 3:09
  • 不需要实体的都可以搞成static,也就是不需要用到类变量(静态变量可以用)就可以实现所需要的功能。

    静态的意义就是全世界只有一个,变量只有一个,要改大家一起改,函数也只有一个,大家都一样。

    如果初学,不大建议用静态,因为这个超越了类的界限,初期容易搞糊涂掉。


    霸王
    2010年4月7日 4:27
  • 根据 FxCop 设计准侧,凡是方法中没有引导用 this 的 (也就是实例变量、属性、事件、方法等),一律需要将此方法标记为 static。public 的话根据方法的作用域而定,需要提供给外界访问的方法会被标记为 public。

    这也就是为什么 StyleCop 中一定要在访问实例成员时加上 this,访问静态成员时加上类型名称的原因。这样设计时就一目了然了。


    Mark Zhou
    2010年4月7日 7:37