yes*_*ime 5 c# asp.net asp.net-mvc c#-7.0 visual-studio-2017
我通常使用VS 2017用于控制台应用程序.但现在我必须创建一个新的ASP.NET MVC项目并发现一些好奇的东西.
自动生成getter和setter(上下文菜单"Quick actions and refactoring <Ecapsulate field(and use property)")会引发编译错误.举个简单的例子:
public class Person
{
private string firstname;
public string Firstname { get => firstname; set => firstname = value; }
}
Run Code Online (Sandbox Code Playgroud)
错误信息:
1>------ Build started: Project: DummyASPNETMVC, Configuration: Debug Any CPU ------
1>C:\dev\C#\DummyASPNETMVC\DummyASPNETMVC\Models\Person.cs(12,39,12,41): error CS1043: { or ; expected
1>C:\dev\C#\DummyASPNETMVC\DummyASPNETMVC\Models\Person.cs(12,39,12,41): error CS1513: } expected
1>C:\dev\C#\DummyASPNETMVC\DummyASPNETMVC\Models\Person.cs(14,2,14,2): error CS1513: } expected
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)
取消注释getter和setter将使事情再次发挥作用.
我想知道因为这在控制台应用程序中工作正常.这里的区别在哪里?
yes*_*ime 12
感谢Panagiotis和Tetsuya.这是c#的版本.
作为对这个问题的参考,你必须做三件事:
完成.