我有一个动态对象,我检查它是一个值类型,如果是,我将它传递给一个方法来处理值类型。
if (type.IsValueType)
{
_valueTypeRenderer.RenderValueType(propertyInfo.GetValue(item, null));
}
RenderValueType()
有以下签名:
void RenderValueType<T>(T item) where T : struct;
该应用程序编译,由Resharper呻吟:
The type 'dynamic' must be non-nullable value type in order to use it as a parameter 'T'
因此...
我的IsValueType是否足够支票和Resharper是错误的,还是Resharper是对的,我需要做一个聪明的演员?