powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запуск Visual Studio 2017
82 сообщений из 82, показаны все 4 страниц
Запуск Visual Studio 2017
    #39415680
Фотография Alex_496
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1,5 часа назад пришло сообщение:

С радостью сообщаем вам, что Visual Studio 2017 будет доступна для скачивания 7 марта 2017! Приглашаем вас 7 и 8 марта в 19:00 (МСК) на онлайн-трансляцию запуска Visual Studio 2017, где мы вместе с вами будем праздновать 20 лет Visual Studio.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39415684
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_496,

А я тока RC-ху недавно поставил...
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416066
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура товарищи!
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416090
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если судить по релизу. Быстрее не стало. Есть небольшие глюки, много мелких изменений, которые скорее всего ударят по привычкам пользователей, они срочно захотят вернуть всё как было.

Кто хочет в старых проектах заюзать c# 7, надо подключить нугет пакет

https://www.nuget.org/packages/Microsoft.Net.Compilers/2.0.0-rc4

именно вот rc4, а не стабильный релиз
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416126
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЕсли судить по релизу. Быстрее не стало. Есть небольшие глюки, много мелких изменений, которые скорее всего ударят по привычкам пользователей, они срочно захотят вернуть всё как было.

Кто хочет в старых проектах заюзать c# 7, надо подключить нугет пакет

https://www.nuget.org/packages/Microsoft.Net.Compilers/2.0.0-rc4

именно вот rc4, а не стабильный релиз

сколько она на диске после установки занимает приблизительно?
а то читал пишут, что чуть ли не 50 ГБ хочет
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416132
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
сколько она на диске после установки занимает приблизительно?
а то читал пишут, что чуть ли не 50 ГБ хочет
Не врут :)
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416150
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупинсколько она на диске после установки занимает приблизительно?
а то читал пишут, что чуть ли не 50 ГБ хочет

Если выбрать все компоненты, Xamarin, UWP и прочее, то где-то так.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416203
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал, баналность: тормознее стал.
Пока не понял их вертикальные лини: мешают или помогают.
IMHO мешают, но может дело привычки. Как народ воспринял?
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416301
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как по мне стало на много лучше, особенно в Enterprice версии очень много всего появилось.
Из + для себя выделил:
+ редактирование XAML во время отладки которое сразу применяется на отлаживаемом приложении (хз как это еще назвать)
+ быстрое подключение пространств имен в XAML, но работает как то не всегда и не везде и требует и как я понял нужно, чтоб все эти классы уже были в собранной сборке
+ объявление out переменных прямо в аргументах метода
+ появился нормальный установщик\унинсталлер для VS, так как раньше после установки в Appwiz.cpl становилась такая жопа, что удалить VS было довольно геморойно, особенно если дистриб не сохранился
и много чего еще
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416348
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё ясно, пока сидим на 15-й, по крайней мере до первого SP.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416575
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buredВсё ясно, пока сидим на 15-й, по крайней мере до первого SP.

А мы переехали ещё вчера. Хотя и до этого многие уже сидели на RC. Так как хотим C# 7 и всё тут. Ну ещё хотим выпускать в продакшен новые продукты на Core.

Моя большая печаль, и просто вселенская грусть состоит в том, что они не добавили Non-nullable reference types , это одна из самых востребованных фич, после ValueTask.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416612
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Попробуй проект tutorial из F#. У меня не даже не компилируется и никаких информативных ошибок :(
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416654
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVostt,
Попробуй проект tutorial из F#. У меня не даже не компилируется и никаких информативных ошибок :(

Дай ссылку на проект.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416676
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХЗ где взять ссылку. Что то с ними в сети совсем туго.
Если инсталируешь F#, то она будет по умолчанию.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416695
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

Русская студия? Как ты с этим живёшь?

Проблема вот здесь:

Код: c#
1.
2.
3.
4.
5.
    [<Struct>]
    type Shape =
        | Circle of radius: float
        | Square of side: float
        | Triangle of height: float * width: float



Сообщения об ошибках надо смотреть в Output, а не в Error List, там их нет.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39416733
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt ЕвгенийВ,

Русская студия? Как ты с этим живёшь?

Нормально. Мне по барабану, не парит.
hVosttПроблема вот здесь:

Код: c#
1.
2.
3.
4.
5.
    [<Struct>]
    type Shape =
        | Circle of radius: float
        | Square of side: float
        | Triangle of height: float * width: float



Сообщения об ошибках надо смотреть в Output, а не в Error List, там их нет.
Да блин, это же скрипт :(
Хотя все равно не понятно, что за ошибка.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39417295
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поимел приятностей в поиске одного непонятного феномена.
Поймал баг компилятора или ещё чего.
Коротко суть: Класс А содержит структуру Б, которая содержит структуру В.
Вызов метода из Б меняющего состояние структуры В не сохраняет её изменённое состояние в Б. Такое впечатление что создаётся копия В в регистрах и изменения в ней теряются.
Попробовал изменить В на класс и всё работает как написано, но не то что мне нужно.
VS 2017 для меня пока непригоден.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39417296
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,

покажи минимальный работающий пример
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39417323
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallarismikron,

покажи минимальный работающий пример

А где его взят? Баг не банальный, наскоком и 10 строчками кода воспроизвести не смог.
Надо брать рабочий код и долго его сецировать. Нет, не я.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39417357
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И тот же код в 2015 корректно работает?
Может у тебя все-таки копия структуры перед присваиванием создается
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39417381
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris,

Беру свои слова назад. Код *был* рабочий, поэтому был уверен что проблема ВС 2017.
Проглядел *улучшение*, впрочем пример поучительный:

Offtopic:
Структуру Б в классе А объявили readonly.
(И хорошее улучшение, если бы Б было классом или содержало только классы.)
На работе метода из Б это не сказалось и внутри метода все изменения на структуре В работают как надо. Структура Б также содержит коллекцию (класс).
После завершения метода изменения в коллекции остаются, а изменения в В пропадают.
В общем занятный пример.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39417648
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если установить на той же системе, где уже VS2015 установлена - ничего не перекосит?
Или лучше пока не ставить ?
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39417935
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Позитив:
- IntelySense даёт возможност фитровать только определённый тип (расширения, методы, проперти)
- Подсказки / рекомендации для стиля
- Быстрые клавиши дла навигация к методам.
Однозначно редактор стал более полезным и удобным.
Негатив: время компиляции возрасло ощютимо.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419785
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вытянул оффлайн инсталлер, куча файлов, нет никакого сетапа и пр...

Где взять ISO с установкой 2017 студии?
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419829
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttСообщения об ошибках надо смотреть в Output, а не в Error List, там их нет.Надо срочно переходить на VS2017, сомнений быть не может!
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419834
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинВытянул оффлайн инсталлер, куча файлов, нет никакого сетапа и пр...

Где взять ISO с установкой 2017 студии?

http://andrey.moveax.ru/post/news-2017-03-07-visual-studio-2017-released
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419835
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVosttСообщения об ошибках надо смотреть в Output, а не в Error List, там их нет.Надо срочно переходить на VS2017, сомнений быть не может!

Не, надо сидеть до посинения на VS 2005
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419850
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей Кпропущено...
Надо срочно переходить на VS2017, сомнений быть не может!

Не, надо сидеть до посинения на VS 2005 Пара сервиспаков выйдет, там посмотрим.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419858
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей Кпропущено...
Надо срочно переходить на VS2017, сомнений быть не может!

Не, надо сидеть до посинения на VS 2005

или 2008
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419884
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПара сервиспаков выйдет, там посмотрим.

Разумно. Только C# 7 мы уже хотим юзать сейчас. Сборка всё равно происходит отдельно, так что пофиг на какие-то возможные глюки студии. Можно хоть на notepad-e сидеть, а отладкой мы почти не пользуемся. Ещё рассматривается вариант перелезть на Rider, но это только после релиза.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419939
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttТолько C# 7 мы уже хотим юзать сейчас.Там нет ничего такого, ради чего стоило бы заморачиваться с переходом.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419942
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы: Сидим на VS 2013
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39419948
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кзы: Сидим на VS 2013

а чем 2015 не угодила?
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420001
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КТам нет ничего такого, ради чего стоило бы заморачиваться с переходом.
Ага, чего только стоит сопоставление с образом!
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420040
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЕщё рассматривается вариант перелезть на Rider, но это только после релиза.
Так эта мутота написана на Java.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420183
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVosttТолько C# 7 мы уже хотим юзать сейчас.Там нет ничего такого, ради чего стоило бы заморачиваться с переходом.

Не могу согласиться. Хотя можно и на Visual Studio 6.0 продолжать сидеть, тут смотря какой настрой и какие перспективы. Если настрой такой "хожу на работу, отсиживаю положенные N часов и сваливаю домой по звонку", и перспективы поддерживать один унылый бесконечный проект то да, можно хоть на фокспро сидеть. Поэтому не согласен.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420185
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVosttЕщё рассматривается вариант перелезть на Rider, но это только после релиза.
Так эта мутота написана на Java.

Базируется на одном из признанных и удобных IDE, с решарпером x64 на борту. Собираюсь поставить EAP на днях, пощупать. Потом буду делать выводы.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420283
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVosttТолько C# 7 мы уже хотим юзать сейчас.Там нет ничего такого, ради чего стоило бы заморачиваться с переходом.
Ладно, пусть даже так, но разработчик большую часть времнени проводит в редакторе а здесь улутшения есть.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420332
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем временем.. спустя неделю после релиза вышел первый адпейт ))
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420382
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttТем временем.. спустя неделю после релиза вышел первый адпейт ))
Тонкий маркетинговый ход: Все кто ждали первого СП задумались о мигрирации.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420393
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,

если через неделю выпустят второй, Алексей К должен начать собирать монатки и мигрировать
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420564
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttТем временем.. спустя неделю после релиза вышел первый адпейт ))
C# - 7, значит и выпуск должен быть 7 числа!
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420571
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Моя большая печаль, и просто вселенская грусть состоит в том, что они не добавили Non-nullable reference types , это одна из самых востребованных фич, после ValueTask.
Хвост, не плакай!
Вполне валидный код.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
namespace N1
{
    public class MyClass { }
}

namespace N2
{
   // using MyClass&#451; = N1.MyClass;
    using MyClassǃ=N1.MyClass;
    using N1;
    
    
    class My2
    {
        MyClass&#451; v1;
        MyClass v2;
    }


Теперь берем Roslyn и алга! Сообщество и ты возрадуются. Я по крайней мере интеллектуальную поддержку обещаю.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420574
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,
Похерил здешний редактор символ юникода ǃ, который визуально выглядит как !
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420586
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

Костыли какие-то. Я хочу на уровне языка поддержку. Очень сильно хочу. Эта киллер-фича кладёт на лопатки тонну другого сахара по важности.

Пока что приходится использовать атрибуты [NotNull], [CanBeNull], [ItemNotNull], [ItemCanBeNull]. Выглядит уродски, но приходится мириться, так как эти атрибуты экономят просто огроменное количество времени, убивая возможные NullReferenceException в зародыше. И кодить гораздо комфортней.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420600
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинАлексей Кзы: Сидим на VS 2013

а чем 2015 не угодила?Тем, что вышла позднее.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420606
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmikron,

если через неделю выпустят второй, Алексей К должен начать собирать монатки и мигрировать Соберу "монатки" и начну думать о миграции. :-)
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420608
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВАлексей КТам нет ничего такого, ради чего стоило бы заморачиваться с переходом.
Ага, чего только стоит сопоставление с образом!Что это?
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420613
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПока что приходится использовать атрибуты [NotNull], [CanBeNull], [ItemNotNull], [ItemCanBeNull]. Выглядит уродски, но приходится мириться, так как эти атрибуты экономят просто огроменное количество времени, убивая возможные NullReferenceException в зародыше. И кодить гораздо комфортней.
А подробнее?
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420616
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЕвгенийВ
Ага, чего только стоит сопоставление с образом!Что это?
Что то типа этого .
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420622
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВАлексей Кпропущено...
Что это?
Что то типа этого .Не понравилось.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420624
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVosttПока что приходится использовать атрибуты [NotNull], [CanBeNull], [ItemNotNull], [ItemCanBeNull]. Выглядит уродски, но приходится мириться, так как эти атрибуты экономят просто огроменное количество времени, убивая возможные NullReferenceException в зародыше. И кодить гораздо комфортней.
А подробнее?

Код: c#
1.
2.
3.
4.
5.
[NotNull]
public SomeResult SomeFunc([NotNull] string arg1, [CanBeNull] string arg2)
{
   ...
}




Теперь:

1. При анализе реализации функции SomeFunc:

1.1. мы сразу видим проблему если возвращается null
1.2. мы сразу видим проблему, если используем arg2 и не проверяем на null

2. При анализе вызовов SomeFunc:

2.1. не надо проверять полученное значение на null
2.2. мы сразу видим проблему, если передаём в качестве arg1 null

Если использовать это повсеместно, то накосячить очень трудно. Анализатор не пропустит даже на компиляцию.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420625
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе понравилось.

Почему?
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420629
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

А хотелось бы писать так:

Код: c#
1.
2.
3.
4.
public SomeResult ! SomeFunc(string ! arg1, string ? arg2)
{
   ...
}



Подсвеченное нигде не описано, но это уж совсем было бы хорошо )
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420640
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КНе понравилось.

Почему?Не вижу практических задач, где это настолько востребовано, чтобы выносить данные возможности на уровень языка. Есть опасения, что в перспективе C# превратится в помойку, содержащую массу ненужных возможностей.

Лучше бы сделали что-то действительно полезное. Например, возможность использования анонимных классов за пределами одного метода или добавили бы синтаксический сахар для описания таких конструкций:
Код: c#
1.
static readonly Expression<Func<MyClass, int>> MyExpression = o => o.Value;
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420644
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе вижу практических задач, где это настолько востребовано, чтобы выносить данные возможности на уровень языка.

У нас полно таких задач. Они появляются, когда задачи становятся сложнее чем банальное CRUD приложение. Вот просто для примера, мы заменили наш код на новые конструкции языка в десятке классов. Общее количество строк уменьшилось где-то на 10-15%, без изменения логики. Код стал выразительнее.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420646
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНапример, возможность использования анонимных классов за пределами одного метода

И как ты подставишь анонимный класс в параметры метода, не потеряв типизацию? Просто логически подумай. Тут дело не в том, что они не хотят сделать такую возможность. Эта задача не решаема.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420648
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

С другой стороны, добавили кортежи, это решает твою проблему с анонимными классами. Есть кортежи с именованными полями, их можно возвращать и передавать, не объявляя новых классов.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420657
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КНапример, возможность использования анонимных классов за пределами одного метода

И как ты подставишь анонимный класс в параметры метода, не потеряв типизацию? Просто логически подумай. Тут дело не в том, что они не хотят сделать такую возможность. Эта задача не решаема.В TypeScript эта задача решена. Было бы желание.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420661
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей К,

С другой стороны, добавили кортежи, это решает твою проблему с анонимными классами. Есть кортежи с именованными полями, их можно возвращать и передавать, не объявляя новых классов.Мне это нужно для использования в EntityFramework, чтобы не было необходимости описывать классы, под возвращаемые запросами данные.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420680
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ TypeScript эта задача решена. Было бы желание.

Не решена, там другая платформа и другая парадигма. Не надо заливать.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420684
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМне это нужно для использования в EntityFramework, чтобы не было необходимости описывать классы, под возвращаемые запросами данные.

Это понятно, но это нельзя сделать в типизированном языке в принципе.

Код: c#
1.
var queryResult = SomeService.SelectToAnonymousResult();



Откуда вызывающей стороне знать что там возвращается изнутри SelectToAnonymousResult? На уровне интерфейса SomeService? Как ты предлагаешь этот интерфейс описать? Ты можешь вернуть IEnumerable<dynamic> и работать с этим как в JavaScript, кто мешает?
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420739
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КМне это нужно для использования в EntityFramework, чтобы не было необходимости описывать классы, под возвращаемые запросами данные.

Это понятно, но это нельзя сделать в типизированном языке в принципе.

Код: c#
1.
var queryResult = SomeService.SelectToAnonymousResult();



Откуда вызывающей стороне знать что там возвращается изнутри SelectToAnonymousResult? На уровне интерфейса SomeService? Как ты предлагаешь этот интерфейс описать? Ты можешь вернуть IEnumerable<dynamic> и работать с этим как в JavaScript, кто мешает?Вывести тип, возвращаемый методом, можно, в TypeScript это реализовано. Придумать синтаксис, присваивающий выведенному типу имя, не должно быть проблемой.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class Class1
{
    public class Data F1()
    {
        return new { A = 10, B = 20 };
    }

    public void F2(Data data)
    {
        var a = data.A;
        var b = data.B;
    }
}
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420745
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
И как ты подставишь анонимный класс в параметры метода, не потеряв типизацию? Просто логически подумай. Тут дело не в том, что они не хотят сделать такую возможность. Эта задача не решаема.
С помощью небольшой хитрости.
Код: c#
1.
2.
3.
4.
5.
public static void M1<T>(Func<T> f, Action<T> a)
        {
            var x = f();
            a(x);
        }


Использование
Код: c#
1.
M1(() => new { a = 1, b = "qwe" }, v => Console.WriteLine(v));


Алексей КВ TypeScript эта задача решена. Было бы желание.
Как? Просвяти?
Алексей К или добавили бы синтаксический сахар для описания таких конструкций:
Код: c#
1.
static readonly Expression<Func<MyClass, int>> MyExpression = o => o.Value;


Было бы не плохо считать например так
let MyExpression = o => o.Value; это Expression<Func<MyClass, int>> MyExpression = o => o.Value;
var MyExpression = o => o.Value; это Func<MyClass, int> MyExpression = o => o.Value;
В F# это разрешено, но там лучше вывод типов и генерики двух типов....
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420754
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВывести тип, возвращаемый методом, можно, в TypeScript это реализовано. Придумать синтаксис, присваивающий выведенному типу имя, не должно быть проблемой.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class Class1
{
    public class Data F1()
    {
        return new { A = 10, B = 20 };
    }

    public void F2(Data data)
    {
        var a = data.A;
        var b = data.B;
    }
}


Таки в 7.0
Код: c#
1.
2.
3.
4.
 static (int Number, string Name) Get()
        {
            return (2, "asd");
        }



Вызывай хоть откуда, intellisense тебе подскажет, что это
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420760
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВТаки в 7.0Ну покажи как это можно срастить с EntityFramework. В одном методе запрос, в другом методе обработка результата запроса, без описания класса для возвращаемых запросом записей.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420780
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ААААААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!
ValueTuple нельзя использовать в сопоставлении с образом
АААААААААААААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420781
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВАлексей К или добавили бы синтаксический сахар для описания таких конструкций:
Код: c#
1.
static readonly Expression<Func<MyClass, int>> MyExpression = o => o.Value;


Было бы не плохо считать например так
let MyExpression = o => o.Value; это Expression<Func<MyClass, int>> MyExpression = o => o.Value;
var MyExpression = o => o.Value; это Func<MyClass, int> MyExpression = o => o.Value;
В F# это разрешено, но там лучше вывод типов и генерики двух типов....Я бы сделал так, для приведённого мной выше примера:
Код: c#
1.
2.
3.
4.
expression int MyExpression(MyClass o)
{
    return o.Value;
}
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420787
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЕвгенийВТаки в 7.0Ну покажи как это можно срастить с EntityFramework. В одном методе запрос, в другом методе обработка результата запроса, без описания класса для возвращаемых запросом записей.
Пиши вместо new{.....} - () и используй.
Код: c#
1.
2.
3.
4.
5.
   static IEnumerable<(int Number, string Name, decimal Price)>M2()
        {
            var data = Enumerable.Range(1, 10).Select(i => (i, "Name" + i, Convert.ToDecimal(i) * 100));
            return data;
        }


Код: c#
1.
2.
3.
4.
 foreach(var d in M2())
            {
                Console.WriteLine(d);
            }
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420791
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВААААААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!
ValueTuple нельзя использовать в сопоставлении с образом
АААААААААААААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Нет подстановочных символов и вообще в
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
    public string sql_ru((int a, int b, int c) arg)
        {
          switch(arg)
            {
                case (4, 5, 6):
                    break;
            }
            return null;
        }



(4, 5, 6) - не является постоянным значением!
ААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420872
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВывести тип, возвращаемый методом, можно, в TypeScript это реализовано. Придумать синтаксис, присваивающий выведенному типу имя, не должно быть проблемой.

Эмм..

Расскажи нам, как ты определишь анонимный тип в интерфейсе. Предложи просто синтаксический способ, забьём пока на возможность реализации.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420878
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу покажи как это можно срастить с EntityFramework. В одном методе запрос, в другом методе обработка результата запроса, без описания класса для возвращаемых запросом записей.

Хоспади, если тебе нужны динамические наборы, тебе не EF нужен, а DataTable, который уже наверное сединой покрылся от старости. Также чем не устраивает возвращаеть анонимы через dynamic? Т.е. конечно это всё полная лажа, ведь хочется типизации. Но как насчёт интерфейса. Покажи метод интерфейса, возвращающий анонимный тип, со статической типизацией. Вот просто, как бы это могло быть. И как интерфейс выведет тип из реализации. В общем, ппц проблему нашёл
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420899
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

object подвластно всё :)
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420909
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
is - остался не перегружаемым оператором
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420993
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВis - остался не перегружаемым оператором

Зачем это тебе?
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39420994
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejteshVostt,

object подвластно всё :)

В .NET 1.0 не было дженериков и горя не знали
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39421026
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЕвгенийВis - остался не перегружаемым оператором

Зачем это тебе?
Да уже не важно :(
Вот настоящий Pattern Matching .
Близко не приблизились!
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39421137
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВАлексей Кпропущено...
Ну покажи как это можно срастить с EntityFramework. В одном методе запрос, в другом методе обработка результата запроса, без описания класса для возвращаемых запросом записей.
Пиши вместо new{.....} - () и используй.
Код: c#
1.
2.
3.
4.
5.
   static IEnumerable<(int Number, string Name, decimal Price)>M2()
        {
            var data = Enumerable.Range(1, 10).Select(i => (i, "Name" + i, Convert.ToDecimal(i) * 100));
            return data;
        }


Код: c#
1.
2.
3.
4.
 foreach(var d in M2())
            {
                Console.WriteLine(d);
            }

Поставленная задача не решена.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39421138
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КВывести тип, возвращаемый методом, можно, в TypeScript это реализовано. Придумать синтаксис, присваивающий выведенному типу имя, не должно быть проблемой.

Эмм..

Расскажи нам, как ты определишь анонимный тип в интерфейсе. Предложи просто синтаксический способ, забьём пока на возможность реализации.Я выше уже давал пример.
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39421254
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПоставленная задача не решена.
Где она решена?
Ах, да!
[youtube=
YouTube Video
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39421273
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЯ бы сделал так, для приведённого мной выше примера:
Код: c#
1.
2.
3.
4.
expression int MyExpression(MyClass o)
{
    return o.Value;
}


Разбирать многострочные expression сложно и видимо не нужно.
К тому же глупо отказываться от лямбд!
...
Рейтинг: 0 / 0
Запуск Visual Studio 2017
    #39421613
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЯ выше уже давал пример.

Не вижу суслика.
...
Рейтинг: 0 / 0
82 сообщений из 82, показаны все 4 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запуск Visual Studio 2017
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]