传统上,我会像这样测试类型是否为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/