Продолжаю непонимать C#. Часть 3
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 03.06.05 07:53
Оценка:
Вопрос уважаемой общественности: какого <censored> компилируется такая строчка:


System.Enum e = null;


Ее нормально кушает как VS2003, так и VS2005
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re: Вопрос снят
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 03.06.05 08:00
Оценка:
Здравствуйте, xvost, Вы писали:


X>
X>System.Enum e = null;
X>

X>Ее нормально кушает как VS2003, так и VS2005

Извиняюсь, вопрос снят.
Внимательно изучил параграф 14.4 стандарта языка
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re: Продолжаю непонимать C#. Часть 3
От: Mika Soukhov Stock#
Дата: 03.06.05 08:01
Оценка:
Здравствуйте, xvost, Вы писали:

X>
X>System.Enum e = null;
X>


Enum — это специальный класс. А для reference типов можно делать присвоение null
Re: Продолжаю непонимать C#. Часть 3
От: the.metalex Беларусь  
Дата: 03.06.05 08:06
Оценка:
"xvost" <31089@users.rsdn.ru> wrote in message news:1204246@news.rsdn.ru...
>
> Вопрос уважаемой общественности: какого <censored> компилируется такая строчка:
>
>
>
> System.Enum e = null;
>

>
> Ее нормально кушает как VS2003, так и VS2005

[Serializable]
public abstract class Enum : ValueType, IComparable, IFormattable, IConvertible
{
// Methods
static Enum();
protected Enum(); ....
}Вот и думай )
Posted via RSDN NNTP Server 1.9
Re[2]: Продолжаю непонимать C#. Часть 3
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 03.06.05 08:08
Оценка:
Здравствуйте, Mika Soukhov, Вы писали:

MS>Enum — это специальный класс. А для reference типов можно делать присвоение null


Во-первых, System.Enum — это не class а struct. Во-вторых, он наследуется от System.ValueType. Соответственно, он является value-type'ом. К которому неприменимо присвоение ссылок.

Однако в C# specs 14.4 явно сказано, что System.Enum в runtime может быть null или ссылка на боксированное enum-значение. Т.е. имеется в наличии непорядок в стандарте языка — в общей сводке правил конвертации типов (глава 6) не учтен пункт 14.4
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Продолжаю непонимать C#. Часть 3
От: Аноним  
Дата: 03.06.05 08:10
Оценка:
Vidimo rovno po toyzhe prichine chto i
ValueType e = null;





данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: Продолжаю непонимать C#. Часть 3
От: Mika Soukhov Stock#
Дата: 03.06.05 08:19
Оценка: 1 (1)
Здравствуйте, xvost, Вы писали:

X>Здравствуйте, Mika Soukhov, Вы писали:


MS>>Enum — это специальный класс. А для reference типов можно делать присвоение null


X>Во-первых, System.Enum — это не class а struct.


Посмотри в MSDN
Re[4]: Продолжаю непонимать C#. Часть 3
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 03.06.05 08:24
Оценка:
Здравствуйте, Mika Soukhov, Вы писали:

MS>>>Enum — это специальный класс. А для reference типов можно делать присвоение null

X>>Во-первых, System.Enum — это не class а struct.
MS>Посмотри в MSDN

Был неправ.
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[5]: Продолжаю непонимать C#. Часть 3
От: FlyDN  
Дата: 03.06.05 11:49
Оценка:
Здравствуйте, xvost, Вы писали:

X>Здравствуйте, Mika Soukhov, Вы писали:


MS>>>>Enum — это специальный класс. А для reference типов можно делать присвоение null

X>>>Во-первых, System.Enum — это не class а struct.
MS>>Посмотри в MSDN

А в MSDN 2005 пишут Enum Structure.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[6]: Продолжаю непонимать C#. Часть 3
От: Oyster Украина https://github.com/devoyster
Дата: 03.06.05 11:58
Оценка:
Здравствуйте, FlyDN, Вы писали:

FDN>Здравствуйте, xvost, Вы писали:


X>>Здравствуйте, Mika Soukhov, Вы писали:


MS>>>>>Enum — это специальный класс. А для reference типов можно делать присвоение null

X>>>>Во-первых, System.Enum — это не class а struct.
MS>>>Посмотри в MSDN

FDN>А в MSDN 2005 пишут Enum Structure.


Reflector на System.Enum по прежнему говорит

public abstract class Enum : ValueType, IComparable, IFormattable, IConvertible



(fw 2.0 Beta 1)
http://rsdn.org/File/27948/bf.gif
Re[7]: Продолжаю непонимать C#. Часть 3
От: Mika Soukhov Stock#
Дата: 03.06.05 12:11
Оценка:
Здравствуйте, Oyster, Вы писали:

FDN>>А в MSDN 2005 пишут Enum Structure.


O>Reflector на System.Enum по прежнему говорит


O>
O>public abstract class Enum : ValueType, IComparable, IFormattable, IConvertible
O>

O>

O>(fw 2.0 Beta 1)


Это чтобы разработчики не расслаблялись. Следили за последними измнениями в документации.
Re[7]: Продолжаю непонимать C#. Часть 3
От: FlyDN  
Дата: 03.06.05 13:16
Оценка:
Здравствуйте, Oyster, Вы писали:

O>Reflector на System.Enum по прежнему говорит


O>
O>public abstract class Enum : ValueType, IComparable, IFormattable, IConvertible
O>


Ага, а иконку показывает структуры.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[7]: Продолжаю непонимать C#. Часть 3
От: Аноним  
Дата: 03.06.05 13:27
Оценка:
.class public abstract auto ansi serializable beforefieldinit Enum
extends System.ValueType
implements System.IComparable,
System.IFormattable,
System.IConvertible
{
} // end of class Enum

и например

.class public sequential ansi serializable sealed beforefieldinit Double
extends System.ValueType
implements System.IComparable,
System.IFormattable,
System.IConvertible
{
} // end of class Double

Все должно быть просто, очень просто, настолько просто — насколько это возможно!
Оренбургское сообщество .NET разработчиков


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.