Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

C# GetEnumenator foreach

Вопрос, как цикл видит что в числе 5 есть как бы класс Int32Extension и итератор GetEnumenator?

По дате
По рейтингу
Аватар пользователя
Просветленный

Вопрос, как цикл видит что в числе 5 есть как бы класс Int32Extension - при помощи инструкции this. А дальше это все развернется в sealed класс, внутри которого будет ваш метод, декорированный специальным атрибутом - ExtensionAttribute. Это все нужно, что бы компилятор смог найти ваш метод. Ну а дальше это будет развернуто примерно в такую конструкцию

1
 foreach(var c in Int32Extension.GetEnumerator(5)) 

Просто от вас это скрывается из-за "синтаксического сахара"