![](/img/trans.png)
[英]How do you give a C# Auto-Property a default value in DynamicProxy?
[英]How do you give a C# Auto-Property a default value When the Property is a Class
还有一个类似的问题在这里 。 但是,我的属性不是int
或string
而是具有多个自身属性的class
本身。 所以我想将默认值设置为属性的属性。
所以这是我的例子:
public class Claim
{
public Person Member { get; set; }
public Person Claimant { get; set; }
}
如您所见,我的属性arent int
或string
放置为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 };
否则,使用Claim
的构造函数。
偷懒尝试一下
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 };
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.