C# 和 OOP 的新手。我正在尝试使用一些信息初始化创建一个名为“Human”的类。但是我收到以下错误a field initializer cannot reference the nonstatic field method or property。尝试创建变量时,错误消息指向first_name和last_namefull_name
这是“简单”的代码
namespace World
{
public class Human
{
// Personal traits
public string first_name;
public string last_name;
public string full_name = first_name + " " + last_name;
}
}
Run Code Online (Sandbox Code Playgroud)
我到底做错了什么?我不明白。。
您可以将其实现为在其 getter 中返回计算字符串的属性
namespace World
{
public class Human
{
// Personal traits
public string first_name;
public string last_name;
public string full_name { get { return first_name + " " + last_name}};
}
}
Run Code Online (Sandbox Code Playgroud)
您使用这种写成员名称的方式有什么原因吗?通常我会这样做:
namespace World
{
public class Human
{
// Personal traits
public string FirstName {get; set;}
public string LastName {get; set;}
public string FullName => $"{FirstName} {LastName}"; // C#7 notation notation
}
}
Run Code Online (Sandbox Code Playgroud)
公共属性使用 PascalCasing,私有的 camelCasing 根据 MS 是“正常的”,甚至会在 VS2017 中产生提示
| 归档时间: |
|
| 查看次数: |
9862 次 |
| 最近记录: |