class Bus<T>
{
static Bus()
{
foreach(FieldInfo fi in typeof(T).GetFields())
{
if(fi.FieldType == typeof(Argument))
{
fi.SetValue(typeof(T), new Argument("busyname", "busyvalue"));
}
}
}
}
class Buss : Bus<Buss>
{
public static Argument field;
}
有什么想法可以使它工作,以便对 Buss 中的静态字段的引用触发 Bus 中的静态构造函数吗?
最佳答案
这对您很重要的事实可能意味着您错误地使用了静态构造函数。
考虑到这一点,您可以在 Bus
中创建一个静态构造函数,手动调用 Bus
中的静态构造函数。请注意,不可能多次运行静态构造函数。
关于c# 静态构造函数不是从派生类调用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6390960/