Я получаю следующее предупреждение:предупреждение CS0649 на частном статическом поле
Предупреждение «TemplateManager.Templates» CS0649 FIELD никогда не назначается, и всегда будет иметь значение по умолчанию нулевой
Соответствующий код выглядит следующим образом:
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. Фактически вы можете удалить инициализацию, и все равно не будет синтаксической ошибки - статические переменные не обязательно должны быть назначены вообще. – Cardin
Я попытался воспроизвести это, и я не получаю ошибку, это, скорее всего, проблема с VS не обновляя предупреждения по некоторым причинам, это время от времени происходит. Просто скомпилируйте или перезапустите VS, и он должен уйти. – Cyral
Если вы переместите инициализацию в самое поле (а не в конструктор), вы все равно получите ошибку? – mattherman