Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2016, 16:30   #1
BadCats
Пользователь
 
Аватар для BadCats
 
Регистрация: 31.01.2016
Сообщений: 67
Восклицание Анонимные типы в c# и их особенности?

Всем привет. Начал изучать анонимные типы в c#.
Автор приводит пример синтаксиса Анонимного типа
Код:
var instance=new{Name"Alex", Age=27};
и предлагает последовательно - шаг за шагом добавить на эту строку дополнительные элементы синтаксиса - что бы данная строк стала более узнаваемая "читаемая" для нас (напоминаю- автор это делает т.к пример и весь курс - учебный) т.е превратив выше приведенную строку в
Код:
var instance=new MyClass(){Name"Alex", Age=27};
- говоря, что мы добавили имя конструктора по умолчанию и круглые скобки для приема аргументов конструктора, и тут же демонстрируеь, что добавляя это - студия предлагает сгенерировать нам свойства для Age и для Name в классе MyClass(класс он создал сам-опять же для примера, но сказал, что в анонимных типах при генерации свойств класс такжн создаетс автоматически)
В классе сгенерировались авто-реализуемые свойства (см изображение 1)
- но автор сказал, что они должны быть только для чтения -т.е в (ну в данномслучае посто нужно убрать set - ведь студия генерировала свойства как для обычных полей класса когда мы дописала имя конструктора по умолчаню после ключевого слова new) .
И это подводит меня к вопросу №3(вопросы №1 и 2 представлены ниже) Если авто генерируемые , авто-реализуемые свойства в также автоматически созданном классе(назовем его MyClass) -только для чтения, то каким образом в блоке инициализатора на строке
Код:
var instance=new{Name"Alex", Age=27};
- мы вообще можем присваивать этим полям значения ?
Вот скриншот первого примера, в котором меня интересует комментарий: - в котором у меня и возникают все эти вопросы. (см изображение 2)
вопрсос №1 т.е компилятор каждый раз создает новое имя для анонимного типа, который в свою очередь является ссылочным типом ?
вопрос№2 т.е приложение не может обращаться ссылке(т.к тип ссылочный) к новому имени созданному
Далее автор говорит, что компилятором.
Вопрос№3 - представлен вначале.
Изображения
Тип файла: jpg Изображение1.jpg (54.2 Кб, 126 просмотров)
Тип файла: jpg Image [2].jpg (86.6 Кб, 120 просмотров)
BadCats вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анонимные функции Sentim JavaScript, Ajax 6 21.05.2015 12:07
Анонимные методы Joose C# (си шарп) 3 27.02.2015 18:59
Анонимные каналы RAZOR1703 Win Api 1 29.11.2011 21:47
Twebbrowser и анонимные proxy vasiliy_09_05 Работа с сетью в Delphi 1 24.02.2011 17:11