Самым громоздким фрагментом синтаксиса, который мне нужно постоянно писать, является ленивая инициализация контейнера в словаре, например:
ContainerRecord value;
if(!_dictionary.TryGetValue(key,out value))
{
value = new ContainerRecord();
_dictionary[key] = value;
}
//Container is always initialized here
Я считаю, что это будет тривиальный шаблон рефакторинга из: (По крайней мере, для явногообъявление переменной и части if)
var value = _dictionary[key];
Я знаю, что в новых версиях C # есть новый синтаксический сахар, который устраняет необходимость предварительного объявления переменных.К сожалению, у меня нет доступа к этим функциям в моей среде, и я не буду в обозримом будущем.
По-видимому, существует рефактор «проверка на наличие ключа», который достигает почти того же результата соборотная сторона выполнения поиска дважды.
Возможно ли это через какое-то расширение?Я подумал, что это достаточно распространенный случай, когда его уже где-то разрешили.