<分区>
我有几个地方有一个不限于类(或结构)的泛型类型参数,当我尝试将该类型的变量与 null
进行比较时,Resharper 会在其下划线,提示我可能正在将值类型与 null
进行比较(当然,这是一个有效的反对意见)。在与 null 进行比较之前,是否有一种可接受的方法来检查变量是否为值类型?
例如:
public TObject MyProperty { get; set; }
...
private void SomeMethod()
{
if(MyProperty == null) //Warning here
{
...
}
}
我一直在做 if(!(MyProperty is ValueType) && MyProperty)
——这有效吗?它并没有消除警告,但这并不一定意味着什么。