c#-nameof

来源:互联网 发布:idc 2012年手机数据 编辑:程序博客网 时间:2024/05/29 14:59

nameof

nameof 用于获取变量、类型或成员的简单(非限定)字符串名称。可以在错误消息中使用类型或成员的非限定字符串名称,而无需对字符串进行硬编码,这样也方便重构。

示例:

public void ThrowArgumentNullExceptionUsingNameOf(string param){    if (param==null)        throw new ArgumentNullException(nameof(param));}
[TestMethod]public void NameOf_UsingNameofExpressionInArgumentNullException(){    try    {        CSharp6 csharp6 = new CSharp6();        csharp6.ThrowArgumentNullExceptionUsingNameOf(null);        Assert.Fail("代码不应该执行到此处");    }    catch (ArgumentNullException exception)    {        Assert.AreEqual<string>("param", exception.ParamName);    }}

* 结果:*

这里写图片描述

把param改为:csharp6.ThrowArgumentNullExceptionUsingNameOf("data"):

这里写图片描述