传统上我会测试一个类型是否是一个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/