c# - 从对象初始值设定项访问属性

标签 c# .net object-initializers

<分区>

我有以下 Person

class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName
    {
        get { return FirstName + " " + LastName; }
    }
    public IEnumerable<Person> Children { get; set; }
}

我可以这样初始化它:

Person p = new Person() { FirstName = "John", LastName = "Doe" };

但是是否可以在对象初始值设定项中引用 Person 的另一个属性,所以我可以做这样的事情?

Person p = new Person()
{
    FirstName = "John",
    LastName  = "Doe",
    Children  = GetChildrenByFullName(FullName);
};

编辑

为了问题的方便,引用的属性不必根据其他属性计算,但它的值可以在构造函数中设置。

谢谢

最佳答案

你不能那样做:

void Foo()
{ 
  String FullName = "";

  Person p = new Person()
  {
    FirstName = "John",
    LastName  = "Doe",
    Children  = GetChildrenByFullName(FullName); // is this p.FullName 
                                                 // or local variable FullName?
  };
}

关于c# - 从对象初始值设定项访问属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11859553/

相关文章:

c# - 编写 Luhn 算法

c# - 无法用slowaes(javascript)解密aes密文

c# - 这个 C# 语法的名称是什么?

c# - 如何确定对象初始值设定项是否是调用 Add 方法的初始值设定项?

c# - 我可以在对象构造之外使用对象初始值设定项吗?

c# - 套接字对象生命周期

c# - 从 SQL 表中删除字符

c# - 如何将公共(public) .pem dsa key 导入 C# 代码?

.net - 在 IIS6 中使用免费 SSL 证书设置测试 asp.net 站点的详细步骤是什么?

.net - 使用 WiX 中的在线设置安装 .NET Framework