假设我有一个类似下面的课程
public Class Person
{
public string Firstname { set; get; }
public string Lastname { set; get; }
}
这是一个问题,如何从Person类中获取实例,如下所示?
Person p = "AAAA BBBB";
所以现在,Firstname等于AAAA,Lastname等于BBBB,我不想在我的班级中使用构造函数,首先,是否可以这样做?那怎么样?
答案 0 :(得分:11)
您可以实现运算符(C#):
public class Person
{
public string Firstname { set; get; }
public string Lastname { set; get; }
public static implicit operator Person(String value) {
Person result = new Person();
if (String.IsNullOrEmpty(value))
return result;
//TODO: More elaborated code required: check if there's no space, two or more spaces etc.
String[] items = value.Split(' ');
result.Firstname = items[0];
result.Lastname = items[1];
return result;
}
}
...
Person sample = "AAAA BBBB";
答案 1 :(得分:1)
如果没有构造函数,则无法初始化类。这就是构造函数的用途。
但是,您可以初始化Person对象并在1语句中设置其属性:
Person p = new Person { FirstName = "AAAA", LastName = "BBBB" };