The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Microsoft открыл код WPF, Windows Forms и WinUI, opennews (?), 04-Дек-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


41. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от Анонимemail (16), 05-Дек-18, 01:10 
1) "дефолтные имплементации методов интерфейса"
эти идиота куски, Халсберг и Гослинг, сначала запретили множественное наследование,
а потом их "последователи" придумали костыльный велосипед.
2) Notnull это хорошо. Это очень хорошо. И вы не путаете "int?" c "int"?
3) После 6.0 они как-бы намекают - все в F# :-D
Ответить | Правка | Наверх | Cообщить модератору

61. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от хотел спросить (?), 05-Дек-18, 04:39 
> Добавили дефолтные имплементации методов интерфейса. А абстрактные классы зачем? Чтобы вводить в заблуждение?
> 1) "дефолтные имплементации методов интерфейса"
> эти идиота куски, Халсберг и Гослинг, сначала запретили множественное наследование,

Абстрактные классы могут содержать виртуальную реализацию.
Интерфейсы только дефолтовую. Таким образом получаем Mixin из коробки.
Реализация метода в интерфейсе не позволит иметь статические методы и обращаться к ним.
Или декларивровать переменные (хранить состояние).

Конкретно это я считаю отлиной идеей. Множественно наследование не нужно!
А вот Mixin на уровне языка - это отличная идея!!!
Хотя привезут они их туда из-за другой причины - расширяемость интерфесов библиотек от версии к версии.

--

> То есть Nullable-типы это структуры, значение которых не может быть null априори, но null им всё-таки присвоить можно.
> В то же время non-nullable reference типы это классы, которые в своём устройстве допускают хранение null, но null туда положить нельзя.
> 2) Notnull это хорошо. Это очень хорошо. И вы не путаете "int?" c "int"?

А вот это не торт совсем. По идее структуры должны быть изначально быть нулл.

Что означает отсутствие значения. Но так исторички сложилось и появился Nullable<T>

non-nullable reference - можно положить туда... будут ворнинги выдаваться, в некоторых случаях, а если настроить компилятор, то ошибки вместо ворнингов.

все делается для обратной совместиомсти

> 3) После 6.0 они как-бы намекают - все в F# :-D

Врядли скорее перетащат лучшие плюшки в C#.

Ответить | Правка | Наверх | Cообщить модератору

220. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от Аноним (219), 05-Дек-18, 21:34 
> 2) Notnull это хорошо. Это очень хорошо. И вы не путаете "int?" c "int"?

Тут не за инт вопрос, с ним всё просто.

struct Employee {}
class Employee2 {}

Employee? e = new Employee();
e = null;  // Можно, но на самом деле это не null
            
Employee2 e2 = new Employee2();
e2 = null; // Нельзя, хотя по идее можно

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

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

240. "Microsoft открыл код WPF, Windows Forms и WinUI"  +1 +/
Сообщение от Анонимemail (16), 06-Дек-18, 02:25 
"Как бы структура имеет свойства класса, а класс имеет свойства структуры"
Вы сделали мой вечер таким сравнением ref & value типов! :)
Вы наверное ещё новвоведения 7.x не осознали.
Все эти ref, in, ref readonly, readonly struct, ref struct, return ref которые стараются стереть различия.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру