Есть ли способ объявить свойство, допускающее значение NULL, чтобы компилятор знал, что значение, возвращаемое его методC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли способ объявить свойство, допускающее значение NULL, чтобы компилятор знал, что значение, возвращаемое его метод

Сообщение Anonymous »

Рассмотрим следующий пример класса Owner:

Код: Выделить всё

public sealed class Owner
{
public required Guid Id { get; init; }
public string? DisplayName { get; init; }
public string? GivenName { get; init; }
public string? Surname { get; init; }
public required string UserPrincipalName { get; init; }
public string? Email
{
get
{
return field ?? UserPrincipalName;
}
init;
}
public bool AccountEnabled { get; init; }

public string GetEmail() => Email ?? UserPrincipalName;
}
Экземпляры этого класса инициализируются значениями, возвращаемыми API Microsoft Graph.
Если возвращаемый адрес электронной почты имеет значение null, то Мне следует использовать UserPrincipalName для отправки электронных писем.
Я хотел бы избавиться от функции GetEmail() и вместо этого полагаться на электронную почту свойство для получения электронной почты владельца. Однако как поле выражения ?? UserPrincipalName всегда имеет ненулевое значение, я хотел бы сообщить об этом компилятору, поэтому мне не нужно обрабатывать тип, допускающий значение NULL () везде используется электронная почта.
Есть ли способ сообщить компилятору, что тип инициализации электронной почты является строкой ?, но тип get — строка?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ows-that-t
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»