C# 可空引用类型的条件编译

C# 可空引用类型的条件编译,c#,swashbuckle,nullable-reference-types,C#,Swashbuckle,Nullable Reference Types,是否有现有的预处理器定义可用于启用或不启用基于可空引用类型的条件编译 我使用Swashback生成swagger.json,它似乎可以根据参数类型检测可空性。但是由于我们还没有准备好使用C#8,我们不能将这些类型标记为“notnull” 我想做的事情与此类似(代码来自我们的Swashback IOperationFilter实现): 你可以看一看,也许我遗漏了什么,但是#nullable也需要C#8。可能是因为我们有点偏执,但我们正在等待使用C#8,直到我们能够使用一个完全支持它的运行时。它在.

是否有现有的预处理器定义可用于启用或不启用基于可空引用类型的条件编译

我使用Swashback生成swagger.json,它似乎可以根据参数类型检测可空性。但是由于我们还没有准备好使用C#8,我们不能将这些类型标记为“notnull”

我想做的事情与此类似(代码来自我们的Swashback IOperationFilter实现):


你可以看一看,也许我遗漏了什么,但是#nullable也需要C#8。可能是因为我们有点偏执,但我们正在等待使用C#8,直到我们能够使用一个完全支持它的运行时。它在.NET Core 3.x中得到了完全支持,而经典的.NET Framework不受支持
#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