加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

您如何看待在C#中使用属性作为对象初始值设定项;

发布时间:2020-12-15 20:47:52 所属栏目:百科 来源:网络整理
导读:我想知道人们在C#中使用属性作为对象初始化器的想法.由于某种原因,它似乎打破了构造函数的基本原理. 一个例子… public class Person{ string firstName; string lastName; public string FirstName { get { return firstName; } set { firstName = value; }
我想知道人们在C#中使用属性作为对象初始化器的想法.由于某种原因,它似乎打破了构造函数的基本原理.

一个例子…

public class Person
{
    string firstName;
    string lastName;

    public string FirstName
    {
      get { return firstName; }
      set { firstName = value; }
    }

    public string LastName
    {
      get { return lastName; }
      set { lastName= value; }
    }
}

然后用…..做对象初始化

Person p = new Person{ FirstName = "Joe",LastName = "Smith" };
Person p = new Person{ FirstName = "Joe" };

解决方法

你在这里看到的是编译器提供的一些合成糖.在引擎盖下它真正做的是:

Person p = new Person(FirstName =“Joe”,LastName =“Smith”);

Person _p$1 = new Person();
_p$1.FirstName = "Joe";
_p$1.LastName = "Smith";
Person p = _p$1;

所以恕我直言,你并没有真正打破任何构造函数基础,但使用一个很好的语言工件,以便于可读性和可维护性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读