Шаблон Resharper для обнаружения арифметики с типами, допускающими значение NULL

Кто-нибудь может придумать хороший шаблон 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.

11
задан cbp 23 July 2012 в 23:47
поделиться