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