传统上,我会像这样测试类型是否为struct

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


但是现在我发现IsValueType属性在我要定位的框架的可移植类库中不可用。一个人怎么去检查它是否是一个结构呢?

我的目标是:


.NET Framework 4.5
ASP.NET Core 5
Windows 8
Windows Phone 8.1
Xamarin.Android
Xamarin.iOS
Xamarin.iOS(经典)

最佳答案

尝试

using System.Reflection;

typeof(TType).GetTypeInfo().IsValueType

关于c# - 如何检查类型是否是可移植库中的结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35668425/

10-11 20:59