如何检查类型是否是可移植库中的结构
本文关键字:可移植 结构 是否是 类型 何检查 检查 | 更新日期: 2023-09-27 18:36:25
传统上,我会测试类型是否是这样的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 核心 5
- 视窗 8
- Windows Phone 8.1
- Xamarin.Android
- Xamarin.iOS
- Xamarin.iOS (Classic)
试试
using System.Reflection;
typeof(TType).GetTypeInfo().IsValueType