Запитання з тегом «nullable-reference-types»

Для питань, пов’язаних із типовими посилальними типами C # 8.

3
Що ?[]? синтаксис в C #?
У той час як я вивчав делегат , який є на самому ділі це абстрактний клас Delegate.cs, я побачив наступний метод , в якому я не розумію Чому значення повернення використовується, ?хоча це вже тип посилання ( класу ) ?[]? значення параметра Чи можете ви пояснити? public static Delegate? Combine(params …

6
Як увімкнути функцію Nullable Reference Types у C # 8.0 для всього проекту
Згідно з відеороликом оголошень C # 8, функцію "типові посилальні типи", які можна опустити, можна включити для всього проекту. Але як включити його для проекту? Я не знайшов жодної нової відповідної опції у вікні Властивості проекту у Visual Studio 2019 Preview 1. Чи можна його включити для «застарілих» .csprojпроектів, якщо …


4
Чому цей код подає попередження компілятора "Можливе повернення до нуля"?
Розглянемо наступний код: using System; #nullable enable namespace Demo { public sealed class TestClass { public string Test() { bool isNull = _test == null; if (isNull) return ""; else return _test; // !!! } readonly string _test = ""; } } Коли я лад це лінія , відзначена !!!видає …

3
Найкраща практика використання Nullable Reference Types для DTO
У мене є DTO, який заповнюється читанням з таблиці DynamoDB. Скажіть, це виглядає приблизно так: public class Item { public string Id { get; set; } // PK so technically cannot be null public string Name { get; set; } // validation to prevent nulls but this doesn't stop database …

2
Як використовувати типові контрольні типи C # 8.0 з моделями Entity Framework Core?
Я вмикаю C # 8.0 Nullable Reference Types у .NET Core 3.0 проект. Проект використовує Entity Framework Core 3.0 для доступу до бази даних. Далі наведена модель даних, назва якої не повинна бути нульовою. public class Vehicle { public int Id { get; private set; } public string Title { …

1
Як використовувати .NET-відображення для перевірки на нульовий тип посилання
C # 8.0 вводить зведені типи посилань. Ось простий клас із властивістю до нуля: public class Foo { public String? Bar { get; set; } } Чи є спосіб перевірити властивість класу, використовуючи нульовий тип посилання за допомогою відображення?

2
Чи можу я сказати C # зворотним посиланням, що метод фактично є нульовою перевіркою на полі
Розглянемо наступний код: #nullable enable class Foo { public string? Name { get; set; } public bool HasName => Name != null; public void NameToUpperCase() { if (HasName) { Name = Name.ToUpper(); } } } На ім'я = ім'я. Ім'я. Tooper () я отримую попередження про те, що Ім'я - …

1
Що таке невідома нульовість у C # 8?
У C # 8.0 ми можемо мати зведені типи посилань. Документи стверджують, що існує 4 види зведення нанівець. Перші 3 цілком зрозумілі, але я не розумію точки "невідомого". Документи кажуть, що він використовується з дженериками, але коли я намагаюся викликати метод на необмежену змінну типу Т у генеріках, він просто …

5
Чи може нульовий посилальний тип у C # 8 бути недійсним під час виконання?
Мені здається, насправді немає гарантії того, що незмінна змінна ніколи не матиме нульового значення. Уявіть, що у мене клас, який має одну властивість, яку не можна звести нанівець: public class Foo { public Foo(string test) { Test = test; } public string Test {get;set;} } Тепер це може здатися, що …

1
Інформація про нульовий тип опорного типу, не виявлена ​​в FirstOrDefault
Мені хотілося перевірити нову функцію змінних посилальних типів у C # 8.0. Я запустив новий проект, орієнтований на .NET Core 3.0, включив нульові типи посилань у .csprojфайл та почав кодувати. Я створив простий список, який приймає a string[]і повертає stringв той масив, що дорівнює abc. Тепер, оскільки я не впевнений, …

2
Чому ми отримуємо можливе попередження про нульове посилання, коли нульове посилання видається неможливим?
Прочитавши це запитання в HNQ, я продовжив читати про Nullable Reference Types в C # 8 і зробив кілька експериментів. Я дуже усвідомлюю, що 9 разів з 10, а то й частіше, коли хтось каже "Я знайшов помилку компілятора!" це насправді задумом і власним непорозумінням. І оскільки я почав вивчати …

3
Нульовий посилальний тип у C # 8 при використанні класів DTO з ORM
Я активував цю функцію в проекті з класами об'єктів передачі даних (DTO), як зазначено нижче: public class Connection { public string ServiceUrl { get; set; } public string? UserName { get; set; } public string? Password { get; set; } //... others } Але я отримую помилку: CS8618: Незмінна властивість …

2
C # 's не може зробити тип `notnull` нульовим
Я намагаюся створити тип, схожий на Руста Resultабо Хаскелла, Eitherі у мене це далеко: public struct Result<TResult, TError> where TResult : notnull where TError : notnull { private readonly OneOf<TResult, TError> Value; public Result(TResult result) => Value = result; public Result(TError error) => Value = error; public static implicit operator …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.