Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 676
1

Инициализация интерфейса

01.08.2020, 22:03. Просмотров 1662. Ответов 6
Метки нет (Все метки)

Доброе время суток, коллеги. Растолкуйте в каких случаях проходит инициализация интерфейса и почему ее раньше не было.
Буду благодарен за пример или ссылку на пример
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.08.2020, 22:03
Ответы с готовыми решениями:

В программе два интерфейса и нужно чтобы при выводе сообщения в тексбоксе 1 интерфейса, текст сразу отображался
в текстбоксе второго интерфейса, никак не могу понять как это сделать

Что такое инициализация сегментов или инициализация регистров?
Подскажите, что такое инициализация сегментов или инициализация регистров? Вот строчка программы из...

Как увидеть методы в классах, которые реализованы из интерфейса и перейти в них из интерфейса?
Как увидеть методы класса, которые реализованы из интерфейса и перейти в них из этого интерфейса,...

Инициализация
1. Создать класс Solid 2. Его наследует Planet 3. В функции Gravitation используются объекты...

6
1394 / 873 / 406
Регистрация: 14.10.2018
Сообщений: 2,467
01.08.2020, 22:16 2
Цитата Сообщение от Esso11 Посмотреть сообщение
инициализация интерфейса
как таковой, данный термин для интерфейса не подходит. Инициализация может быть: массива, списка, словаря. Возможно вы имели ввиду что то другое. Приведите минимальный пример или ссылку того, что именно в вашем понимание "инициализация"
0
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 676
01.08.2020, 22:22  [ТС] 3
Enifan, нашел такой пример на java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
interface I {
    int i = 1, ii = Test.out("ii", 2);
}
interface J extends I {
    int j = Test.out("j", 3), jj = Test.out("jj", 4);
}
interface K extends J {
    int k = Test.out("k", 5);
}
class Test {
    public static void main(String[] args) {
        System.out.println(J.i);
        System.out.println(K.j);
    }
    static int out(String s, int i) {
        System.out.println(s + "=" + i);
        return i;
    }
}
На собеседовании мне сказали есть такое понятие решил спросить у старших товарищей
И вот что пишут по поводу инииализации:
Класс или интерфейс T будет инициализирован сразу перед первым появлением следующих ситуаций:
T является классом и создаётся экземпляр T.
Вызывается статический метод, объявленный в T.
Присваивается значение статическому полю, объявленному в T.
Используется значение статического поля T, которое не является константой.
T — это top level класс, и вызывается assert, лексически вложенный в T.

Добавлено через 1 минуту
Enifan, хотел найти на с# что-то подобное но гугл меня "забанил" после таких запросов к нему )))
0
1394 / 873 / 406
Регистрация: 14.10.2018
Сообщений: 2,467
01.08.2020, 22:54 4
Лучший ответ Сообщение было отмечено Esso11 как решение

Решение

Цитата Сообщение от Esso11 Посмотреть сообщение
но гугл меня "забанил" после таких запросов к нему
поиск может сработать при "реализация интерфейса", однако это не то. Более правильно будет как то так "явная реализация методов интерфейса", однако и тут гугл не поможет. В идеале искать так "C# 8.0 интерфейс" - это как раз то обновление, которое появилось в новой версии языка
Документация, Метанит
Цитата Сообщение от Esso11 Посмотреть сообщение
Java
увы, джаву не знаю, но о чем речь - понял
Цитата Сообщение от Esso11 Посмотреть сообщение
Буду благодарен за пример или ссылку на пример
Раньше нельзя было так сделать
C#
1
2
3
4
5
interface IMy
{
    public int X { get { return 0; } set { X = value / 2; } }
    public void Foo() => Console.WriteLine("Foo()");
}
В данном примере - явная реализация метода Foo(), а также можно реализовывать аксессоры (get и set)
Цитата Сообщение от Esso11 Посмотреть сообщение
почему ее раньше не было
Язык C# как и любая программа или игра обновляется. Раньше не было такой возможности, теперь есть. Разработчики посчитали что идея хорошая и решили реализовать. Даже не знаю что тут еще можно добавить.

PS это обновление произошло в версии языка 8.0 которая доступна в .Net Core 3.0 которая есть в Visual Studio 2019
1
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 676
02.08.2020, 08:51  [ТС] 5
Enifan, спасибо большое

Добавлено через 3 минуты
Enifan, DateTime? LastOrder { get; } напомните пожалуйста что значит в этой записи знак "?"
0
1026 / 675 / 458
Регистрация: 21.01.2014
Сообщений: 1,783
02.08.2020, 09:43 6
Лучший ответ Сообщение было отмечено Esso11 как решение

Решение

Цитата Сообщение от Esso11 Посмотреть сообщение
что значит в этой записи знак "?"
Короткая запись для Nullable<T> - значимый тип, которому можно присвоить null;
C#
1
2
int m = null; //error
int? n = null; //OK, по факту n это Nullable<int>
1
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 676
02.08.2020, 17:20  [ТС] 7
Lexeq, спасибо большое
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2020, 17:20

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

Инициализация
Вот код: // Создаем новый класс Coor: class Coor { // данные (свойства): var $name; var $city;...

Инициализация
Дана структура с вложенной в нее структурой: struct patients { struct {day,month,year}; string...

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

инициализация объекта
Как проинициализировать объект созданный с помощью new?

Инициализация DataGritView
Есть две формы, FormParent(), SubForm(). FormParent() - главная, SubForm() - дочерняя. На...

Инициализация вью
Привет. Небольшой вопросик по обжективу, как из си кода (внизу исходника) инициализировать вьюшку и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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