如何检查类型是否是可移植库中的结构

How to check if a type is a struct from a portable library

传统上我会测试一个类型是否是 struct 这样的:

public void Do<TType>(TType value)
{  
   if (typeof(TType).IsValueType) 
   {
      // code for structs
   }
   else
   {
      // code for non structs
   }
}

但现在我发现 IsValueType 属性 在我的目标框架的可移植 class 库中不可用。那么如何检查它是否是一个结构体呢?

我的目标是:

尝试

using System.Reflection;

typeof(TType).GetTypeInfo().IsValueType