当C#自动属性是一个类时,如何给它一个默认值
本文关键字:一个 默认值 属性 | 更新日期: 2023-09-27 18:04:29
这里也有类似的问题。然而,我的属性不是int
或string
,而是class
本身,它有许多自己的属性。所以我想把默认值设置为一个属性的一个属性。
下面是我的例子:
public class Claim
{
public Person Member { get; set; }
public Person Claimant { get; set; }
}
正如你所看到的,我的属性不是int
或string
的put,它们是Person
的。每个人都有许多属性,我想为每个对象设置其中一个属性的默认值。
例如,如果我让一个新人像这样:
Person Pete = new Person { PersonTypeID = 1 };
如您所见,Person
具有PersonTypeID
属性。比方说,我想在每次实例化Claim
类时,将该值设置为Member
的1
和Claimant
的2
作为默认值。我该怎么做?
由于C#6,您可以初始化自动实现的属性:
public Person Member { get; set; } = new Person { PersonTypeID = 1 }; // or by using the constructor of Person
public Person Claimant { get; set; } = new Person { PersonTypeID = 2 };
否则使用CCD_ 14的构造函数。
以一种懒惰的方式尝试
public class Claim
{
public Person Member { get; set; }
public Person Claimant { get; set; }
public Claim()
{
this.Member = new Person() { PersonTypeID = 1 };
this.Claimant = new Person() { PersonTypeID = 2 };
}
}
或
public class Claim
{
public Person Member { get; set; }
public Person Claimant { get; set; }
public Claim(int MemberTypeID, int ClaimantTypeID)
{
this.Member = new Person() { PersonTypeID = MemberTypeID };
this.Claimant = new Person() { PersonTypeID = ClaimantTypeID };
}
}