【发布时间】:2017-04-11 14:33:32
【问题描述】:
考虑以下类
class A
{
public static int i;
}
class B
{
public static A a{get;}=new A(); // without new A(), B.A will be null
}
现在,
B.a 给出了 A 的一个新实例,由于 A 类的变量“i”是静态的,我无法通过 B.a 访问“i”,即 B.a.i 正在编译时间错误。
我明白,如果我喜欢下面的内容,
class B
{
static class A
{
static int i;
}
}
那我可以做 B.A.i.
所以我的问题是如何访问类的静态成员的静态成员?有没有可能,还有其他我可以使用的模式。
另请注意,将“A”类设为静态并将“B”类设为
class B
{
public static A a{get;}
}
给出“静态类型不能用作返回类型”的编译时错误。
【问题讨论】:
-
如果你想得到 i,就做 A.i. B 在这里有什么意义?
-
我知道。只是想知道这是否可能。尝试实际学习模式。