Может ли кто-нибудь подумать о хорошем шаблоне Resharper, который обнаружит следующую ошибку:
decimal? x = null;
decimal? y = 6M;
var total = x + y;
Console.WriteLine(total); // Result is null
Я попытался создать шаблон, но не могу решить, как быстро обрабатывать все типы арифметических (например, +, -, * и т.д.) и любой тип с нулевым значением (e.g. Nullable<int>, Nullable<decimal>, Nullable<double> etc
). Также я не могу обработать коммутативность (например, он должен определять x + y, а также y + x).
Обратите внимание, что мне не обязательно определять, действительно ли x фактически является нулевым: просто независимо от того, является ли он типом с нулевым значением. Я хочу заставить разработчиков написать: x.Value + y.Value.