如何在C#中将对象添加到其他对象

时间:2018-07-12 13:11:41

标签: c#

我正在自己做学校学位课程的练习。 但是我想将度数对象添加到比度数更广泛的概念的程序对象中,以便执行一行来实现该程序。 (我对该程序有进一步的了解,但我想知道的是这个问题的基本概念)

例如,我的编码如下所示

namespace Mod1_SelfAssesment
{
    public class UniProgram
    {
        public string Programme { get; set; }

        public UniProgram(string programme)
        {
            this.Programme = programme;
        }

        Degree master = new Degree("Master");
    }
}

namespace Mod1_SelfAssesment
{
    public class Degree
    {
        public string _Degree { get; set; }
        public Degree(string degree)
        {
            this._Degree = degree;
        }
    }
}

这样,我必须在Main方法中实例化两个类,而这不是我想要执行的。并且,“代码度主=新度(“主”);”在UniProgram类中没有任何用途。

您能帮我吗?

先谢谢你〜!!

2 个答案:

答案 0 :(得分:1)

如果我正确遵循的话...

DELETE FROM dbo.T07StokDurum where a4 is null

答案 1 :(得分:0)

似乎您想将Degree设为UniProgram的属性。如果是这样,您可以添加一个附加的构造函数(链接它们),以便在一行中同时定义两者。

public class UniProgram
{
    public string Programme { get; set; }
    public Degree Degree { get; set; }

    public UniProgram(string programme)
    {
        this.Programme = programme;
    }

    // Second constructor so you can also define degree
    // : this(...) allows you to call other constructor so either can be used
    public UniProgram(string programme, string degree) : this (programme)
    {
        this.Degree = new Degree(degree);
    }

}

现在您可以通过两种方式使用该程序

// Usage example
var program = new UniProgram("Program without degree");
var programWithDegree = new UniProgram("Program with degree", "Master");

基于注释,如果您的程序允许多个学位,则可以考虑其他答案。这是另一种方法。

public class UniProgram
{
    public string Programme { get; set; }
    public IList<Degree> Degrees { get; } = new List<Degree>();

    public UniProgram(string programme, params string[] degree)
    {
        this.Programme = programme;
        foreach (var name in degree)
            this.Degrees.Add(new Degree(name));
    }

}

然后您可以像这样使用该对象:

// Additional usage scenarios
var programMultiple = new UniProgram("Multiple degrees", "Master", "Doctorate");
programMultiple.Degrees.Add("Another degree"); // You can also add degrees any time later

要了解有关上面的代码/上面使用的功能的更多信息: