Ответ 1
Некоторые функции из Type
были перенесены в TypeInfo
в .NET Core.
typeof(T).GetTypeInfo().IsEnum
Я пытаюсь выполнить код Portable Class Library
с помощью ASP.NET Core 1.0
, следующую инструкцию:
public static void WriteMessage<T>(T value)
{
if (typeof(T).IsEnum)
{
Debug.Print("Is enum")
}
else
{
Debug.Print("Not Is enum")
}
}
Но этот код не компилируется, потому что компилятор говорит, что свойство IsEnum
отсутствует в типе.
Любые предложения?
Некоторые функции из Type
были перенесены в TypeInfo
в .NET Core.
typeof(T).GetTypeInfo().IsEnum
Попробуйте value is Enum
просто так:
enum Test {one, two};
public static void Main(string[] args)
{
//Your code goes here
Console.WriteLine("Hello, world!");
Test x = Test.one;
WriteMessage<Test>(x);
}
public static void WriteMessage<T>(T value)
{
if (value is Enum)
{
Debug.Print("Is enum");
}
else
{
Debug.Print("Not Is enum");
}
}