我有一个类,我想创建多个对象。
有没有办法将对象创建为属性?
JDK_HOME
而不是这个,我怎么能做这样的事情,在这里我想添加create obj。
public class UserandProfile
{
public Users_AboutMe objAMe = new Users_AboutMe();
public Users_Education objEdu = new Users_Education();
public Users_Interests objInterests = new Users_Interests();
}
答案 0 :(得分:4)
在C#6中,您可以直接在属性中初始化对象。
public Users_AboutMe objAMe { get; set; } = new Users_AboutMe();
如果您仍然使用C#5,最好只使用私有变量来保存对象
private Users_AboutMe objAMe = new Users_AboutMe();
public Users_AboutMe ObjAMe {get { return objAMe; } set { objAMe = value;}}
正如@Belahcene Benzara Tahar所提到的,你可以懒得加载私有变量。在您可能想要这样做的几种情况下。
为此,您从私有变量声明中删除实例化行并将其放在getter中,如下所示
private Users_AboutMe objAMe;
public Users_AboutMe ObjAMe {
get {
if (objAMe == null) {
objAMe = new Users_AboutMe();
}
return objAMe;
}
set {
objAMe = value;
}
}
检查是否objAMe
答案 1 :(得分:2)
您应该在构造函数中初始化属性。
public class UserandProfile
{
// Properties
public Users_AboutMe objAMe { get; set; }
public Users_Education objEdu { get; set; }
public Users_Interests objInterests { get; set; }
// Constructor
public UserandProfile()
{
objAMe = new Users_AboutMe();
objEdu = new Users_Education();
objInterests = new Users_Interests();
}
}