可以说我有一个类似下面的课程
public Class Person
{
public string Firstname { set; get; }
public string Lastname { set; get; }
}
Run Code Online (Sandbox Code Playgroud)
这是一个问题,如何从Person类中获取实例,如下所示?
Person p = "AAAA BBBB";
Run Code Online (Sandbox Code Playgroud)
所以现在,Firstname等于AAAA,Lastname等于BBBB,我不想在我的类中使用构造函数,首先,是否可以这样做?那怎么样?
Dmi*_*nko 11
你可以实现operator(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";
Run Code Online (Sandbox Code Playgroud)