CallerArgumentExpression始终为null

保罗·格尼耶

我正在C#8中尝试[CallerArgumentExpression]:

static void Main(string[] args)
{
    try
    {
        Program query = null;
        Argument(query != null, "Ooops");
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

public static void Argument(bool condition, string message, [CallerArgumentExpression("condition")] string conditionExpression = null)
{
    if (!condition) throw new ArgumentException(message: message, paramName: conditionExpression);
}

但是,我不能得到conditionExpressionnull以外的任何值。

我一直在使用这个https://blog.mcilreavy.com/articles/2018-08/caller-argument-expression-attribute和其他一些页面,当然,它可以作为指南,但我无法获得它工作。

理查德·霍威尔斯

此页面https://www.c-sharpcorner.com/article/c-sharp-8-features/声称它从未进入C#8,现在是C#Next。

另请参见https://github.com/dotnet/csharplang/issues/287,尤其是底部。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章