.NET中的ResourceManager是单例的吗?
NET中的ResourceManager是单例吗?从它的使用情况来看,我会说不是。我认为它更可能是一个工厂类或类似的类 因为用法是这样的:.NET中的ResourceManager是单例的吗?,.net,.net,NET中的ResourceManager是单例吗?从它的使用情况来看,我会说不是。我认为它更可能是一个工厂类或类似的类 因为用法是这样的: Resources.SomeResourceYouMade; Resources.Instance.SomeResourceYouMade; 如果是单例,则必须先访问实例,然后访问资源,因此看起来更像这样: Resources.SomeResourceYouMade; Resources.Instance.SomeResourceYouMade; 此
Resources.SomeResourceYouMade;
Resources.Instance.SomeResourceYouMade;
如果是单例,则必须先访问实例,然后访问资源,因此看起来更像这样:
Resources.SomeResourceYouMade;
Resources.Instance.SomeResourceYouMade;
此外,这里还有一些关于实例化资源管理器的信息,甚至来自不同的程序集().如果在处理资源文件时查看设计器生成的代码,可以看到每个生成的资源属性都访问一个内部静态属性,该属性将创建一个
ResourceManager
实例(如果尚未创建),然后重用该实例。从这个角度来看,我觉得它是单例的(即使具体的单例实现可能不是最好的)
示例(使用名为MyResourceFile.resx的资源文件,以及名为SomeStringResource的字符串资源):
正如您在
ResourceManager
属性中看到的,它检查resourceMan
是否为null
,仅当它为空时才创建新的ResourceManager
。后续调用将使用当时已创建的ResourceManager
实例。这意味着只会创建一个实例,然后再重新使用,这就是Singleton模式的要点。实例SomeResource{get{return}\u instance.SomeResourceImpl;}}