C# 类声明中的令牌无效?
我的代码取自Fo Dicom开源库,代码没有编译,因为编译器抱怨有无效的令牌C# 类声明中的令牌无效?,c#,visual-studio,C#,Visual Studio,我的代码取自Fo Dicom开源库,代码没有编译,因为编译器抱怨有无效的令牌 /// <inheritdoc /> public bool IsEOF => _stream.Position >= _stream.Length; // 公共布尔IsEOF=>\u stream.Position>=\u stream.Length; 这段代码中的错误: 错误101类、结构或接口成员声明c:\Users\user\Desktop\New f
/// <inheritdoc />
public bool IsEOF => _stream.Position >= _stream.Length;
//
公共布尔IsEOF=>\u stream.Position>=\u stream.Length;
这段代码中的错误:
错误101类、结构或接口成员声明c:\Users\user\Desktop\New folder\fo dicom development\dicom\IO\FileByteSource.cs 93 47 dicom.Desktop中的无效令牌“>=”无效
为什么会发生这种情况?您需要c#7编译器来编译这种类型的成员声明
因为您使用的是VS 2013,所以您得到的是旧版本的c#编译器,它不知道这种语法,并且将无法在
=>
附近编译,因为编译器总是试图尽可能多地理解代码。如果您真的对下一个操作中报告错误的原因感兴趣,请抓取您最终实际使用的c版本规范,并找出它如何解释public bool a=>b…
您没有显示导致错误的代码。以结束语句代码>并确保您的代码包含在类中。您是在C#6或更高版本下编译的吗?那么这就是问题所在。Visual Studio 2013使用C#5编译器,您正在尝试使用C#6功能。(我怀疑您是否真的在使用.NET 4.7.1。您可能已经安装了该版本,但这并不意味着您在项目中将其作为目标。VS2013更新可能会使该版本起作用,但不会更改您正在使用的编译器版本。)我很惊讶,在本例中,编译器可以使用=>
,但不能使用=
。