【问题标题】:How to check if a type is a struct from a portable library如何检查类型是否是可移植库中的结构
【发布时间】:2016-06-10 15:42:55
【问题描述】:

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

【问题讨论】:

标签: c# portable-class-library


【解决方案1】:

试试

using System.Reflection;

typeof(TType).GetTypeInfo().IsValueType

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多