Как я могу пометить значение как не ожидающее, что оно будет нулевым?C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу пометить значение как не ожидающее, что оно будет нулевым?

Сообщение Anonymous »

У меня есть функция, которая правильно указана как возвращающая потенциально нулевой объект. Мой код вызывает эту функцию, но таким образом, чтобы она не возвращала нулевое значение.

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

MyClass? MyFunction(string x);
/* ... */
var myObject = MyFunction("Never return null.");
myObject.MyMemberFunctionOfMyClass();
Visual Studio (правильно) помечает использование myObject как «возможную нулевую ссылку». Я знаю, что оно никогда не будет нулевым, но компилятор этого не знает.
Есть ли способ пометить это как известное невозможное -нулевой? Я знаю, что мог бы добавить проверку на значение null, но это будет дублировать код test-for-null/throw-NullReferenceException, который компилятор все равно вставит, и без него моя функция будет очень аккуратной и аккуратной. Я также предпочел бы не использовать #pragma, который отключает предупреждение, поскольку я хочу сохранить предупреждение для других значений.
Я бы предпочел какой-нибудь способ завершения одно значение в маскировке «Это значение не будет нулевым. Продолжайте, как и раньше».

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

var myObject = MyFunction("Never return null.").NotNull();
Существует ли такое?

Подробнее здесь: https://stackoverflow.com/questions/791 ... to-be-null
Ответить

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

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

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

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

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