如何以更好的方式实例化类对象

时间:2015-07-28 06:54:15

标签: c# constructor instantiation

我的Student课程包含以下几个属性。

Student.cs

public class Student{
    Guid Id {get;set;}
    public string RollNumber{get;set;}
    public string StudentType{get;set;}
    public string Class{get;set;}
}

我在我的代码中实例化了一个Student类的对象。

public void Update(Student student)
{
    Student orignal = new Student { 
        Id = student.Id, 
        RollNumber = student.RollNumber, 
        StudentType = student.StudentType, 
        Class = student.Class
    };
}

以上工作正常,但我觉得必须有更好的方法来做到这一点,因为如果我有100 properties in Student class而不是将所有这些都放在Student student = new Student {.,.,.,.,.,.,.,.,.,.,............. upto 100}中是不好的方式。

我能以更好的方式做到吗?

3 个答案:

答案 0 :(得分:2)

有两种解决方案:

  1. 不要在课堂上放置100个属性:)它通常表示设计不良,另一个类试图挣脱。

  2. 如果您确实拥有大量始终需要的属性,请尝试使用构建器模式。这样你就可以保存一些通用的半就绪对象。

  3. 或者,也许你有很多默认值,你不必每次都指定你构造一个新对象?

答案 1 :(得分:1)

好吧,拥有一个包含100个属性的类是糟糕的设计...你可以添加一个构造函数,至少可以节省你在每个实例上编写每个属性名称的工作。

答案 2 :(得分:1)

请阅读构建器模式。这是一个非常好的初始化类的工具,特别是当不是所有字段都必须在构造时定义时。有几个实现,但我认为this one对你的案例最有利。