Как избежать многоуровневых тернарных операторов с помощью .editorconfigC#

Место общения программистов C#
Anonymous
Как избежать многоуровневых тернарных операторов с помощью .editorconfig

Сообщение Anonymous »

У меня есть этот метод C#:

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

public IModelBinder GetBinder(ModelBinderProviderContext context)
{
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}

if (context.Metadata.ModelType == typeof(BaseGetAllRequest) || context.Metadata.ModelType.IsSubclassOf(typeof(BaseGetAllRequest)))
{
return new BinderTypeModelBinder(typeof(SearchFiltersBinder));
}

return null;
}
Когда я запускаю очистку кода Visual Studio, это становится следующим:

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

public IModelBinder GetBinder(ModelBinderProviderContext context) => context == null
? throw new ArgumentNullException(nameof(context))
: context.Metadata.ModelType == typeof(BaseGetAllRequest) || context.Metadata.ModelType.IsSubclassOf(typeof(BaseGetAllRequest))
? new BinderTypeModelBinder(typeof(SearchFiltersBinder))
: (IModelBinder)null;
Я включил использование методов с телом выражения, где это возможно, так что это имеет смысл. Но в данном случае это фактически делает код менее читабельным (по крайней мере, на мой взгляд). Есть ли способ ограничить .editorconfig максимальной глубиной (т.е. максимум одним вопросительным знаком) для методов с выражением?

Подробнее здесь: https://stackoverflow.com/questions/761 ... itorconfig

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