在为自定义 NUnit 约束编写此方法时。
private void AddMatchFailure<TExpected, TActual>(string failureName, TExpected expected, TActual actual)
{
_matchFailures.Add(
String.Format(MatchFailureFormat, failureName,
(expected == null) ? "null" : expected.ToString(),
(actual == null) ? "null" : actual.ToString()));
}
Resharper 警告说,expected
和 actual
可能是 ValueType
对象。
e.g. TExpected is DateTime expected == null;// but DateTime is a struct.
比较 ValueType 和 null 的规则是什么? 我应该如何编写方法来解释这一点,而不必通过添加类约束来限制泛型参数?