谁能想到这将会检测到以下错误ReSharper的良好格局: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。
erm nullable只是一个泛型类。 可为空结构 为什么不只是使这种模式thingy:“可为空” –
Nahum
2012-07-23 06:21:41
而不要检查一个'x + y'模式,但寻找一个'Nullable''已确定分配'null'并且在其左侧或右侧(或“ - =”)中没有任何“+”,“ - ”,“*”,“/',”^','*','''','<<','>> ,'+ =',...在它左边)。 –
SimpleVar
2012-07-23 06:28:11
@Nahum它不起作用。 – cbp 2012-07-23 06:34:40