如何在不使用new关键字的情况下创建类的实例
本文关键字:情况下 创建 实例 关键字 new | 更新日期: 2023-09-27 18:19:37
假设我有一个类,如下所示
public Class Person
{
public string Firstname { set; get; }
public string Lastname { set; get; }
}
问题是,如何从下面这样的Person类中获取实例?
Person p = "AAAA BBBB";
所以现在,名字等于AAAA,姓氏等于BBBB,我不想在我的类中使用构造函数,首先,有可能这样做吗?那么怎么做呢?
您可以实现运算符(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";
没有构造函数就无法初始化类。这就是构造函数的作用。
但是,您可以初始化Person对象并在1条语句中设置其属性:
Person p = new Person { FirstName = "AAAA", LastName = "BBBB" };