VS 错误初学者

VS Errors beginner

我是编码世界的新手,正在努力学习。我试图了解 .dll 是如何编写的,它的用途是什么。我反编译它并在 VS 中将其作为程序集打开。我通过查看它的结构学到了一些知识,并且解决了重新编译时弹出的大部分错误。但我被困在最后。这是代码:

public Request_NSBD FormRequest
{
    get =>this._request              
    private set
    {
        this._request = value;
    }     
}

我在第 003 行收到错误 CS1043、CS1513 和 CS0161,在第 004 行收到错误 CS1002 和 CS1513。谁能向我解释为什么会出现这些错误以及如何解决这些错误? 我在网上查了 CSxxxx,不明白哪里出了问题。如果我听从 VS 的建议,错误会变得更多 "worse"。我非常感谢您就此提供的任何见解。

我是一名机械师,我学习东西的方法是打开它们,看看里面是什么。我发现代码也是一样的,也许我错了。

您似乎正在尝试创建 属性 到 get/set 类型为 Request_NSBD 的局部变量 _request。尝试将您的代码更改为:

public Request_NSBDFormRequest
{
   get { return this._request; }
   set { this._request = value; }
}

正如上面克里斯所提到的,以某些风格编写的代码利用了新的语言特性,并且可能无法与每个版本一起编译。除非您熟悉某些语言语法,否则最好使用更常见的实现模式。

要声明属性,你有很多方法...

旧方法(如果你想对你的内部属性执行一些检查仍然有用):

public Request_NSBD FormRequest
{
    get { return _request; }
    private set { _request = value; }
}

新版本的 C# 允许您像这样声明 属性 :

public Request_NSBD FormRequest { get; private set; }

现在关于您使用的语法,它是表达式主体和旧方式声明的混合体。

如果你想写一个只读的属性,你应该这样写:

public string MyString
{
    get
    {
        return "My string value";
    }
}

相当于这个(带表达式正文):

public string MyString => "My string value";