我正在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);
}
但是,我不能得到conditionExpression
null以外的任何值。
我一直在使用这个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。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句