相关疑难解决方法(0)

在派生类型上使用类的静态成员?

使用Resharper 4.1,我遇到了这个有趣的警告:"通过派生类型访问类型的静态成员".以下是发生这种情况的代码示例:

class A {
    public static void SomethingStatic() {
       //[do that thing you do...]
    }
}

class B : A {
}

class SampleUsage {
    public static void Usage() {
        B.SomethingStatic(); // <-- Resharper warning occurs here
    }
}
Run Code Online (Sandbox Code Playgroud)

当通过B使用A的静态成员时,有没有人知道有什么问题(如果有的话)?

c# resharper static

73
推荐指数
3
解决办法
1万
查看次数

为什么"不要从派生类访问基类中定义的静态成员."

Microsoft关于C#编码约定的文章(C#编程指南)明确指出:

"不要从派生类访问基类中定义的静态成员."

为什么不访问静态成员?

似乎存在这种情况应该发生的有效场景,例如所有const成员都是静态的.派生类是否永远不能读取基类中定义的const成员?

c# inheritance static

7
推荐指数
1
解决办法
122
查看次数

标签 统计

c# ×2

static ×2

inheritance ×1

resharper ×1