Есть ли способ сообщить компилятору C #, что функция никогда не возвращается?Я сталкиваюсь со следующей проблемой.Это упрощенная версия.
public int myMethod()
{
try
{
return anythingHere();
}
catch
{
Environment.Exit(1); //or a function which always either calls Environment.Exit or throws an exception
}
}
'package.class.myMethod ()' не все пути кода возвращают значение.
Если нет, существует ли общий способсоздавать такие вещи, кроме вставки недоступного кода?«Возврат 0» или что-то такое после выхода просто кажется мне смешным.Насколько я знаю, функция не может быть возвращена из вызова Environment.Exit, поэтому возвращаемое значение не требуется, если эта ветвь берется (если возникло исключение, функция все равно не должна была бы возвращать значение).
РЕДАКТИРОВАТЬ:
Может быть, что-то вроде этого?
public T MyExit<T>()
{
Environment.Exit(1);
return default(T);
}
Все еще не вполне удовлетворительным, хотя.