using System;
class Program
{
static void Main()
{
IsReferenceType<Enum>();
}
static void IsReferenceType<T>() where T : class
{
Console.WriteLine(typeof(T).IsClass); // False
}
}
Если System.Enum — ссылочный тип, то почему выводится False?
А если не ссылочный, то почему код компилируется (см. констрэйнт)?
Здравствуйте, Mab, Вы писали:
Mab>Здравствуйте, nikov, Вы писали:
Mab>Вопрос из той же серии: отчего в MSDN топик про Enum озаглавлен "Enum Structure", зато содержит код Mab>
Mab>public abstract class Enum : ValueType, IComparable, IFormattable, IConvertible
Mab>
using System;
class Program
{
static void Main()
{
IsReferenceType<Enum>();
IsReferenceType<ValueType>();
}
static void IsReferenceType<T>() where T : class
{
Console.WriteLine(typeof(T).IsValueType);
Console.WriteLine(typeof(T).IsClass);
}
}
Здравствуйте, AndreiF, Вы писали:
AF>Здравствуйте, nikov, Вы писали:
N>>Во как! Он ни то, ни другое.
AF>это еще не самое забавное
AF>typeof(Enum).IsEnum == false