我正在审查 log4net 的一些代码,我遇到了这个。
private static readonly ILog logger = LogManager.GetLogger(typeof(AdminClient));
我想知道为什么你需要私有静态只读。
根据我的理解,私有意味着该变量不能在类外部使用,除非有访问器方法或获取属性。
static 意味着该变量仅在此文件中起作用。
readonly 意味着您只能从值中读取而不能分配它。
所以,我在想写这段代码的人。将其声明为私有,因为他们不希望它在类外部使用,并且是静态的,因此不希望它在文件外部使用。但是,如果有一个 get 属性,则静态会阻止这种形式的发生。
我想我可以理解 readonly 并且该值只能从中读取而不是设置。
非常感谢您的任何建议,