当C#Auto属性是一个类时,如何为该属性指定默认值
还有一个类似的问题。但是,我的属性不是当C#Auto属性是一个类时,如何为该属性指定默认值,c#,C#,还有一个类似的问题。但是,我的属性不是int或string,而是一个类本身,它有许多自己的属性。所以我想将默认值设置为属性的属性 下面是我的例子: public class Claim { public Person Member { get; set; } public Person Claimant { get; set; } } 正如您所看到的,我的属性不是int,也不是string,而是Person。每个人都有许多属性,我想为每个对象设置其中一个属性的默认值 例如,如果
int
或string
,而是一个类
本身,它有许多自己的属性。所以我想将默认值设置为属性的属性
下面是我的例子:
public class Claim
{
public Person Member { get; set; }
public Person Claimant { get; set; }
}
正如您所看到的,我的属性不是int
,也不是string
,而是Person
。每个人都有许多属性,我想为每个对象设置其中一个属性的默认值
例如,如果我创造了一个像这样的新人:
Person Pete = new Person { PersonTypeID = 1 };
如您所见,Person
有一个PersonTypeID
属性。假设我想将Member
的1
和claimer
的2
的值设置为claimer
类每次实例化时的默认值。如何执行此操作?因为C#6可以初始化:
否则使用声明的构造函数
,因为C#6可以初始化:
否则,请使用声明的构造函数
以懒散的方式尝试此操作
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()
{
this.Member = new Person() { PersonTypeID = 1 };
this.Claimant = new Person() { PersonTypeID = 2 };
}
}
或
当您初始化
声明
时,编译器会自动将属性分配给它们的默认值。当您初始化声明
时,编译器会自动将属性分配给它们的默认值。或者通过IoC方式:在ctor中插入Person
实例,或者提供工厂方法,或者…或者IoC方式:在ctor中注入Person
实例,或者提供工厂方法,或者。。。
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 };
}
}