我想要一个字符串字段由另外两个字段组成
本文关键字:字段 两个 一个 字符串 我想要 | 更新日期: 2023-09-27 18:17:32
我希望Fullname
由FirstName
和Lastname
组成,但我得到以下例外:
字段初始化项不能引用非静态字段、方法或地产的员工。FirstName'/'Employee。姓'
class Employee
{
public string FirstName { get; }
public string LastName { get; }
private string FullName = string.Format("{0}, {1}", FirstName, LastName);
}
类字段的赋值顺序不能由运行时保证。这就是为什么编译器会警告你一个编译时错误。
如果FullName
是一个公共属性,你可以这样做:
class Employee
{
public string FirstName { get; }
public string LastName { get; }
public string FullName => $"{FirstName} {LastName}";
}
对于不使用c# -6的人:
class Employee
{
public string FirstName { get; private set; }
public string LastName { get; private set; }
public string FullName
{
get { return string.Format("{0} {1}", FirstName, LastName); }
}
}
或者如果你不希望它是公共的,你需要通过类构造函数实例化字段
class Employee
{
public Employee(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
fullName = $"{FirstName} {LastName}";
}
public string FirstName { get; }
public string LastName { get; }
private string fullName;
}
您试图在初始化变量
之前设置该值如果你把set改成get,你会更成功
class Employee{
public String FirstName { get; }
public String LastName { get; }
public String FullName {
get{
return String.Format("{0}, {1}", FirstName, LastName);
}
}
}
}
我认为你需要把它放在类构造函数中。这个错误是因为您试图使用不存在的值,或者更确切地说,在使用它们的时候可能不存在。