我正在自己做学校学位课程的练习。 但是我想将度数对象添加到比度数更广泛的概念的程序对象中,以便执行一行来实现该程序。 (我对该程序有进一步的了解,但我想知道的是这个问题的基本概念)
例如,我的编码如下所示
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类中没有任何用途。
您能帮我吗?
先谢谢你〜!!
答案 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
要了解有关上面的代码/上面使用的功能的更多信息: