Условная компиляция для обнуляемых ссылочных типов - PullRequest
1 голос
/ 13 января 2020

Существует ли существующее определение препроцессора, которое можно использовать для включения условной компиляции на основе пустых ссылочных типов или нет?

Я использую Swashbuckle для генерации чванства. json, и, похоже, обнаружить обнуляемость на основе типов аргументов. Но так как мы еще не готовы использовать C# 8, мы не можем пометить типы как «не нулевые»

. Я хотел бы сделать что-то похожее на это (код взят из нашей реализации Swashbuckle IOperationFilter) :

#if !NULLABLE_REFERENCE_TYPES
foreach (var pParam in odataParams)
{
    pParam.Style = ParameterStyle.Simple;

    // Array is nullable, individiual array elements are not
    if (pParam.Schema.Items.Type == "string")
    {
        // Remove when we kan use C# not-nullable feature
        pParam.Schema.Items.Nullable = false;
    }
}
#endif
...