繁体   English   中英

静态字段/属性初始化

[英]Static field/property initialization

如果我有这样的类型:

public struct Effect
{
    public int Value { get; set; }

    public static int MinValue = Int32.MinValue;
}

MinValue只会初始化为ONCE,就像执行静态构造函数一样吗? 或者我应该在静态构造函数中初始化MinValue

这会对classes有什么不同吗?

是的,它会在静态构造函数执行之前初始化一次。 对于引用类型(类)也是如此。

是的,每个进程(app域)只会初始化一次。

它将被执行一次,但不完全像在静态构造函数中。 当类型具有静态构造函数时,关于何时执行类型初始值设定项的规则是不同的 请注意,观察到的行为也在.NET 4.0中发生了一些变化 通常你不需要担心这一点。

据我所知,类和结构之间的类型初始化没有区别。

请注意,您的MinValue字段是公共的和可写的 - 是不是意味着? 这似乎是一个坏主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM