error CS1043: { or ; expected错误怎么理解?

clever101
领域专家: C/C++技术领域
2020-08-11 04:57:26
有这样一个C#类,代码如下:


public class DBCurProject : MySqlLite2
{
private static DBCurProject m_pCurDB = null;
public static DBCurProject PCurDB { get => m_pCurDB; set => m_pCurDB = value; }

}


在VS 2015 (附带.NET Framework4)上编译出错,具体是 public static DBCurProject PCurDB { get => m_pCurDB; set => m_pCurDB = value; }这行代码出错,错误信息是:
error CS1043: Invalid accessor body =>', expecting;' or `{'

我同事使用vs2017编译则没问题。请问如何理解这个错误?
...全文
4071 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
github_36000833 2020-08-12
  • 打赏
  • 举报
回复
{ get => m_pCurDB; set => m_pCurDB = value; } 这种写法是C# 6.0开始支持的“Expression-bodied 函数成员”。 Visual Studio 2015的编译器不支持这种写法。 Visual Studio 2017或2019可以支持,Visual Studio 2015安装一些预览版,引进Roslyn编辑器也可以支持。 建议安装2019社区版,免费,项目也可以保持Framework 4。它是编译器功能,跟.net framework版本无关。 或者,Visual Studio 2015下,用旧语法写为:
public class DBCurProject : MySqlLite2
{
        private static DBCurProject m_pCurDB = null;
        public static DBCurProject PCurDB 
        {
                get { return m_pCurDB; }
                set { m_pCurDB = value; }
        }
}
Constructor_ 2020-08-12
  • 打赏
  • 举报
回复
引用 2 楼 github_36000833 的回复:
{ get => m_pCurDB; set => m_pCurDB = value; } 这种写法是C# 6.0开始支持的“Expression-bodied 函数成员”。 Visual Studio 2015的编译器不支持这种写法。 Visual Studio 2017或2019可以支持,Visual Studio 2015安装一些预览版,引进Roslyn编辑器也可以支持。 建议安装2019社区版,免费,项目也可以保持Framework 4。它是编译器功能,跟.net framework版本无关。 或者,Visual Studio 2015下,用旧语法写为:
public class DBCurProject : MySqlLite2
{
        private static DBCurProject m_pCurDB = null;
        public static DBCurProject PCurDB 
        {
                get { return m_pCurDB; }
                set { m_pCurDB = value; }
        }
}
稍微更正一下。在我印象里这是C#7的特性。 C# 6引入的expressi-bodied property只支持对readonly property省去大括号中accessor的定义,比如:
public decimal Profit => offer - cost
C# 7开始支持expression-bodied accessor.也就是帖子的这种语法。
ziqi0716 2020-08-12
  • 打赏
  • 举报
回复
1楼正解~,新版语法支持"=>"属性
正怒月神 2020-08-11
  • 打赏
  • 举报
回复
.net framework版本不对,不支持这个语法。 改成

public static DBCurProject PCurDB { get ;set;}
内容概要:本文围绕“基于序阻抗建模的VSG并网逆变器仿真复现研究”,利用Simulink工具对虚拟同步发电机(VSG)并网逆变器进行系统建模与仿真分析,重点研究其在弱电网条件下的序阻抗建模方法、扫频法稳定性判据及宽频带振荡机理。研究整合了多篇博士论文与高水平期刊成果,涵盖阻抗建模理论、控制器设计、正负序解耦分析及系统稳定性评估等内容,并配套提供完整的Matlab/Simulink代码与仿真模型资源,支持复现光伏逆变器、构网型变流器等多种典型新能源并网系统案例,旨在帮助科研人员深入掌握新能源并网系统的动态响应特性与稳定控制策略。; 适合人群:具备电力系统、电力电子或自动控制等相关专业背景,正在从事新能源并网、微电网运行、逆变器控制与稳定性分析等方向研究的研究生、博士生及科研技术人员。; 使用场景及目标:①掌握VSG并网逆变器的序阻抗建模流程与精确仿真技术;②理解弱电网环境下并网系统的振荡产生机制与稳定性判据应用;③复现高水平学术论文中的阻抗扫频验证与稳定性分析案例,提升科研仿真能力与论文复现水平; 阅读建议:建议结合所提供的Simulink模型与Matlab代码循序渐进地操作实践,重点关注阻抗建模的数学推导与扫频仿真的参数设置,同时参考文中引用的博士论文与顶刊文献,系统构建对新能源并网系统稳定性的理论认知与工程实践能力。
内容概要:本文聚焦于光伏并网逆变器与虚拟同步发电机(VSG)在弱电网条件下的正负序阻抗建模与稳定性分析,基于Simulink平台实现系统的序阻抗数学建模、扫频法仿真验证及正负序阻抗特性对比。研究涵盖阻抗建模的理论推导、仿真参数设置、扫频激励信号设计与频率响应提取,并深入探讨两者接入弱电网后的交互稳定性问题,揭示宽频带振荡的潜在机理。文档还关联多项前沿课题资源,如构网型变流器阻抗解耦、锁相环动态影响分析等,为新能源并网系统的稳定性研究提供完整的仿真复现支持和技术参考。; 适合人群:具备电力电子、自动控制及电力系统基础知识,从事新能源发电并网、微电网运行控制、逆变器建模与稳定性分析等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握光伏逆变器与VSG的正负序阻抗建模方法;②利用Simulink开展扫频仿真,评估系统在弱电网下的稳定性;③复现高水平学位论文及期刊中的关键仿真模型,支撑科研项目申报、论文撰写与工程验证。; 阅读建议:建议结合提供的网盘资源(含完整Simulink模型文件与配套代码)进行实操复现,重点理解阻抗建模的理论依据与扫频仿真的实施细节,按照文档指引循序渐进学习,以系统性掌握建模流程与稳定性判据应用。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧