【发布时间】:2020-02-07 21:21:33
【问题描述】:
如何从类的实例中获取静态属性的值?请参阅下面的示例...
abstract class A {
public static double Foo {get; protected set;}
}
class B : A {
static B(){
Foo = 1;
}
}
class C : A {
static C(){
Food = 2;
}
}
class Test {
A test = new B();
//How do I get test.Foo ??
}
【问题讨论】:
-
你必须做 B.Foo 没有 test.Foo
-
应该注意它实际上存在于
A,所以你不会总是从B.Foo得到1,从C.Foo得到2,因为它将被设置为静态初始化的任何一个最后。 -
是的,我想错了。我想从变量中获取静态属性,因为我不确定对象是 B 还是 C。但我现在看到这无关紧要,静态属性仅属于 A。
标签: c# inheritance properties static