Ari*_*ian 31 c# visual-studio visual-studio-2013
我正在使用VS 2013和.Net Framework 4.6.我想使用新的C#6功能(例如nameof).但是我找不到它.
我应该使用VS 2015吗?或者更高的.Net框架?
小智 37
是的,要使用C#6功能,您需要一个C#6编译器.Visual Studio 2013没有C#6编译器.Visual Studio 2015可以.
已经有针对Visual Studio 2013的Roslyn预发行版,但它们没有实现最终的C#6:它们实际上没有实现所有功能,它们实现的功能与最终的C#6行为不同.
是的,您需要使用Visual Studio 2015.它在VS 2013中不受支持.相关链接:https://msdn.microsoft.com/en-us/library/dn986596.aspx
在 VS2015 之前,您可以将以下类添加到您的解决方案中,并按照获取变量或参数的名称中的建议替换nameof(with 的所有实例NameOf.nameof(() =>
using System;
using System.Linq.Expressions;
namespace ICSharpCode.SharpZipLib
{
public class NameOf
{
public static String nameof<T>(Expression<Func<T>> name)
{
MemberExpression expressionBody = (MemberExpression)name.Body;
return expressionBody.Member.Name;
}
}
}
Run Code Online (Sandbox Code Playgroud)
安装这个 nuget 包为我的项目修复了它。
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35530 次 |
| 最近记录: |