C# 将动态转换为ValueType
我有一个动态对象,我检查它是否是值类型,如果是,我将它传递给一个方法来处理值类型C# 将动态转换为ValueType,c#,.net,dynamic,resharper,C#,.net,Dynamic,Resharper,我有一个动态对象,我检查它是否是值类型,如果是,我将它传递给一个方法来处理值类型 if (type.IsValueType) { _valueTypeRenderer.RenderValueType(propertyInfo.GetValue(item, null)); } RenderValueType()具有以下符号: void RenderValueType<T>(T item) where T : struct; void RenderValueType(T项)
if (type.IsValueType)
{
_valueTypeRenderer.RenderValueType(propertyInfo.GetValue(item, null));
}
RenderValueType()
具有以下符号:
void RenderValueType<T>(T item) where T : struct;
void RenderValueType(T项),其中T:struct;
应用程序编译时,Resharper抱怨道:
类型“dynamic”必须是不可为null的值类型,才能将其用作参数“T”
所以
我的IsValueType是否足以作为一个检查,而Resharper是否错误,或者Resharper是否正确,我需要进行一次巧妙的转换?好吧,你是否尝试运行该应用程序并查看发生了什么?在我看来,首先你必须告诉你的方法你使用的是哪种类型_valueTypeRenderer.RenderValueType(propertyInfo.GetValue(项,null))@decPL是的,测试都通过了,到目前为止没有什么不好的,正如我所说的,只是想知道是否有更好的方法?