【发布时间】:2015-11-30 01:30:38
【问题描述】:
我收到以下警告:
警告 CS0649 字段“TemplateManager.Templates”从未分配给, 并且将始终具有其默认值 null
相关代码如下:
public static class TemplateManager
{
private static Dictionary<string, Stream> Templates;
public static List<string> TemplateNames { get; private set; }
static TemplateManager()
{
Templates = new Dictionary<string, Stream>();
TemplateNames = new List<string>();
}
在我看来,我正在为它赋值。这是一个错误还是我只是错过了一些重要的事情?是否与类和/或字段是静态的事实有关?
【问题讨论】:
-
您确定输入正确吗?我的 Visual Studio 没有出现任何错误。事实上,您可以删除初始化,仍然不会出现语法错误 - 根本不需要分配静态变量..
-
我试图重现这个但我没有收到错误,这很可能是 VS 出于某种原因没有更新警告的问题,这种情况不时发生。只需编译或重新启动 VS,它就会消失。
-
如果将初始化移到字段本身(而不是在构造函数中),是否还会出现错误?
-
似乎清理和重建项目解决了它。谢谢您的帮助!不过,尝试重新编译并重新启动已经没有运气了。
标签: c# static field warnings private