Описание тега c#-8.0
По вопросам, связанным с разработкой версии 8.0 языка C#. В этой версии добавлены ссылочные типы, допускающие значение NULL, методы интерфейса по умолчанию, асинхронные перечисления и другие функции и улучшения.
0
ответов
Метод интерфейса C# по умолчанию
Я пытаюсь реализовать методы интерфейса по умолчанию с помощью бета-версии C# 8.0 в Visual Studio 2019, но все еще получаю сообщение об ошибке - "члены интерфейса не могут иметь определения" Вот реализация в интерфейсе interface IDefaultPerson : IPe…
26 дек '18 в 20:48
1
ответ
Обнуляемые ссылочные типы с универсальным типом возврата
Я немного поиграюсь с новой функцией C# 8 для обнуляемых ссылочных типов, и во время рефакторинга моего кода я наткнулся на этот (упрощенный) метод: public T Get<T>(string key) { var wrapper = cacheService.Get(key); return wrapper.HasValue ? D…
08 фев '19 в 13:55
0
ответов
По какому критерию диапазон применяется к массивам и строкам в C#8?
Я просматриваю C#8 диапазоны и не могу понять, как именно применение Range ограничено только массивами и строками. Я думал, что это как-то связано с реализациями массива интерфейса. Это реализует ICloneable, IList, ICollection, IEnumerable, IStructu…
20 фев '19 в 01:31
0
ответов
Вне параметров с обнуляемыми ссылочными типами
Я реализовал Option напишите для какого-нибудь моего проекта: public abstract Option<T> {} public class None<T> : Option<T> public class Some<T> : Option<T> { public T Value { get; } public Some(T value) { Value = value…
13 дек '18 в 10:00
1
ответ
Когда проверять нулевые аргументы с включенными обнуляемыми ссылочными типами
Учитывая функцию в программе, использующей функцию обнуляемых ссылочных типов C# 8.0, я должен все еще выполнять нулевые проверки аргументов? void Foo(string s, object o) { if (s == null) throw new ArgumentNullException(nameof(s)); // Do I need thes…
05 фев '19 в 01:25
1
ответ
Почему новый индекс оператора шляпы из функции вырезания массива в C# 8 не начинается с 0?
В C# 8.0 представлен удобный способ нарезки массивов - см. Официальный пост C# 8.0. Синтаксис для доступа к последнему элементу массива int value[] = { 10, 11, 12, 13 }; int a = value[^1]; // 13 int b = value[^2]; // 12 Мне интересно, почему индекси…
08 янв '19 в 13:04
3
ответа
Реализации интерфейса по умолчанию. В чем сейчас глубокая значимая разница между абстрактным классом и интерфейсом?
Я знаю, что абстрактный класс - это особый класс, который не может быть создан. Абстрактный класс должен быть только подклассифицирован (унаследован от). Другими словами, он только позволяет другим классам наследовать от него, но не может быть созда…
01 дек '17 в 21:00
0
ответов
Добавление #pragma к страницам Razor сгенерировало вывод в net core 2.1
Я тестирую C# 8 в проекте dot net. В частности, поддержка обнуляемых ссылочных типов. При компиляции проекта я получаю много предупреждений о сгенерированном выходе страницы Razor. 2>obj\Debug\netcoreapp2.1\Razor\Pages\_ViewStart.g.cshtml.cs(23,1…
06 май '18 в 15:51
0
ответов
Позиционный шаблон C# 8 против шаблона деконструкции
В первом предложении сопоставления с образцом рекурсивный образец был определен со следующей грамматикой: recursive_pattern : positional_pattern | property_pattern ; Ссылка: https://github.com/dotnet/csharplang/blob/master/proposals/patterns.md Чтоб…
15 июн '18 в 08:59
2
ответа
IAsyncEnumerable не работает в C# 8.0 превью
Я играл с предварительным просмотром C# 8.0 и не могу получить IAsyncEnumerable работать. Я попробовал следующее public static async IAsyncEnumerable<int> Get() { for(int i=0; i<10; i++) { await Task.Delay(100); yield return i; } } Я исполь…
06 дек '18 в 12:19
1
ответ
Могу ли я определить C# 8 бета-совместимые индексаторы в C# 7?
Кажется, что они требуют System.Index а также System.Range Я не могу найти какие-либо пакеты NuGet, которые бы обеспечивали их, подобно ValueTuple
22 дек '18 в 21:57
3
ответа
Связь между C# 8.0, NET Core 3.0 и Visual Studio
В статье Building C# 8.0 говорится Текущий план состоит в том, что C# 8.0 будет поставляться одновременно с.NET Core 3.0. Тем не менее, функции начнут оживать с предварительными версиями Visual Studio 2019, над которыми мы работаем. Какая связь межд…
19 фев '19 в 13:09
2
ответа
В чем разница между NullableContextOptions и NullableReferenceTypes?
Я играл с новым c# 8.0 NullableReferenceTypes особенность на время. И я немного озадачен включением этой функции с помощью изменения .csproj файл. Я имею в виду, чтобы включить эту функцию, вы должны поместить следующие строки в .csproj файл: <Pr…
24 фев '19 в 14:28
2
ответа
Как включить функцию Nullable Reference Types в C# 8.0 для всего проекта
Согласно анонсу новой функции C# 8.0, названной "ссылочные типы, допускающие обнуляемость", она может быть включена для всего проекта. (упомянуто здесь: https://youtu.be/VdC0aoa7ung?t=137) Но как включить его для проекта? Не удалось найти какой-либо…
05 дек '18 в 13:33
0
ответов
Чем отличаются интерфейс и абстрактный класс поста C# 8.0 release?
Как многие из вас знают, C# запущен с новой функцией "реализация интерфейса по умолчанию". Насколько мне известно, это был основной функционал в абстрактном классе. И пользователь должен выбрать абстрактный класс, если он хочет обеспечить реализацию…
07 фев '19 в 09:04
2
ответа
Методы интерфейса по умолчанию и значения по умолчанию для Auto Properties
Учитывая, что свойство auto компилируется в get_method, set_method и приватную переменную, а в C# 8 вводятся методы интерфейса по умолчанию Могут ли свойства в интерфейсах иметь реализации по умолчанию? Особенно получить только собственность?
10 дек '18 в 07:04
0
ответов
С № 8; Целевое типизированное `новое` выражение?
Я читал вики сообщества Jon Skeet номерах версий для C# язык и заметил, что C# 8 был в настоящее время в предварительном просмотре. Я перешел по ссылке для ожидаемых функций и наткнулся на предложенную функциональность под названием Target-typed new…
16 янв '19 в 18:53
0
ответов
Относится ли реализация по умолчанию членов интерфейса в C# 8 к решению проблемы множественного наследования абстрактного класса?
Я читаю этот блог .NET Engineering Team и они представили новую функцию реализации по умолчанию для Interface, Я запутался в связи с его мотивом, кроме проблемы многоуровневого наследования abstract class, Кроме этого, я не могу понять какую-либо др…
31 янв '19 в 08:15
2
ответа
Если методы интерфейса по умолчанию реализованы в C# 8.0, зачем мне вообще нужны абстрактные классы?
Недавно я столкнулся со списком функций, которые рассматриваются для добавления в следующей версии C#. Один из них называется "методы интерфейса по умолчанию": https://github.com/dotnet/csharplang/blob/master/proposals/default-interface-methods.md К…
11 авг '17 в 18:44
1
ответ
Как пометить возвращаемое значение по умолчанию в C# 8 как обнуляемое только для классов?
В настоящее время я пытаюсь применить новую функцию необязательного ссылочного типа C# 8.0 к существующему коду и не знаю, как исправить предупреждение CS8603 в следующем методе десериализации данных: T ReadOptional<T>() where T : IEntity, new…
20 фев '19 в 20:44