Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Построить дерево (не бинарное) с возможностью сериализации https://www.cyberforum.ru/ csharp-beginners/ thread2493661.html
Да, вопрос слишком глупый и обширный, но все же. Ничего толкового по НЕ бинарным деревьям не нашел. Мне нужно построить дерево с 1-n дочерних узлов, сделать функции добавления\удаление узла для...
C# Не получается расшифровать текстовый список данных с сайта
Есть метод который шифрует и расшифровывает строки: public static string Encrypt(string input) // шифратор текста { if (input.Trim() == "") return ""; string result = ""; ...
C# Передать значения в метод в другом файле
Всем привет, у меня есть в Main static void Main(string args) { var result = GetTheLastId(); И в другом классе, в другом cs
C# Автоматическая нумерация ListBox.DataSource Добрый вечер! Как сделать автоматическую нумерацию в ListBox.DataSource? Нашел способ через изменения формата, но не понимаю что есть что: private void lbAnswers_Format(object sender,... https://www.cyberforum.ru/ csharp-beginners/ thread2493629.html
C# Какой вариант для удаления лучше https://www.cyberforum.ru/ csharp-beginners/ thread2493619.html
Всем привет, какой вариант для удаления лучше? Исключением с созданием нового листа или удалением? int del = Convert.ToInt32(Console.ReadLine()); products =...
Определить диапазон дат C#
Здравствуйте, пожалуйста помогите определить диапазон дат. Порядок действий: Блок операций №1 1. Ввести исходную дату. 2. Рассчитать период с заданным шагом в днях. Рассчитать периоды по 365...
Вычислить дату подписания xml-файла C#
Имеется файл *.xml, подписанный ЭЦП Как вычислить дату подписания?
C# Добавление элементов в лист Всем привет Хочу добавить в лист значения персон. using System; using System.Collections.Generic; namespace TestingAppParts { class Person { https://www.cyberforum.ru/ csharp-beginners/ thread2493538.html
C# Где можно найти перечисление и объяснение когда и что добавлять в using? https://www.cyberforum.ru/ csharp-beginners/ thread2493537.html
На форуме постоянно пишут(необходимо добавить using System.IO, например), но я не нашёл где можно найти перечисление и объяснение когда и что добавлять. Мне понадобилось добавить using...
C# Описать процедуру NMinmax(A, N, NMin, NMax), находящую номера минимального и максимального элемента вещественного массив Описать процедуру NMinmax(A, N, NMin, NMax), находящую номера минимального и максимального элемента вещественного массива A размера N. Выходные параметры целого типа: NMin (номер минимального... https://www.cyberforum.ru/ csharp-beginners/ thread2493508.html
2262 / 1720 / 511
Регистрация: 02.08.2011
Сообщений: 4,911
24.08.2019, 00:05 0

Обращение и инициализация полей класса

24.08.2019, 00:05. Просмотров 498. Ответов 9
Метки (Все метки)

Ответ


1. А вы пробовали запускать это?
Тут будет ошибка в рантайме, так как компилятор не знает какую перегрузку метода вызвать. Подробнее не скажу.


2. Это просто синтаксический сахар.
Если взять простенькую программу типа:
C#
1
2
3
4
5
6
7
8
9
10
11
12
class Foo
    {
        public string Bar { get; set; }
    }
 
class Program
    {
        static void Main(string[] args)
        {
            var fb = new Foo {Bar = "Buzz"};
        }
    }
То ее IL-код будет примерно таким:
Код
.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  // Code size       20 (0x14)
  .maxstack  3
  .locals init (class ConsoleApp4_TokenEncoding.Foo V_0)
  IL_0000:  nop
  IL_0001:  newobj     instance void ConsoleApp4_TokenEncoding.Foo::.ctor()
  IL_0006:  dup
  IL_0007:  ldstr      "Buzz"
  IL_000c:  callvirt   instance void ConsoleApp4_TokenEncoding.Foo::set_Bar(string)
  IL_0011:  nop
  IL_0012:  stloc.0
  IL_0013:  ret
} // end of method Program::Main
Тут видно, что сначала вызывается конструктор, потом во временную переменную заносится строка, и далее через сеттер устанавливается значение.
То есть все это дело эквивалентно этому:
C#
1
2
var fb = new Foo();
fb.Bar = "Buzz";


Вернуться к обсуждению:
Обращение и инициализация полей класса
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.08.2019, 00:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Инициализация полей класса при наследовании
Всем добрый вечер. Возникла у меня небольшая задачка, которую никак не могу решить. Имеем базовый...

Инициализация полей класса через vector<>
Здравствуйте, можете подсказать как правильно инициализировать поля класса, вот например есть класс...

Инициализация полей во время объявления класса
Инициализировать поля класса во время его объявления возможно только если в классе отсутствует...

Инициализация вещественных статических константных полей класса С++
static const double x=2.15; //c double и float не инициализирует. Почему??

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.