Resharper pattern to detect arithmetic with nullable types

Viewed 284

Can anyone think of good Resharper pattern that will detect the following bug:

decimal? x = null;

decimal? y = 6M;

var total = x + y;

Console.WriteLine(total); // Result is null

I've tried creating a pattern but I can't work out how to quickly handle all types of arithmetic (e.g. +, -, * etc), and any nullable type (e.g. Nullable<int>, Nullable<decimal>, Nullable<double> etc). Also I can't handle commutativity (e.g. it should detect x + y as well as y + x).

Note that I don't necessarily need to detect whether or not x is actually null: just whether or not it is a nullable type. I want to force developers to write: x.Value + y.Value.

1 Answers
Related