C# 将类作为另一个类中的属性访问
我创建了三个类,它们通过C# 将类作为另一个类中的属性访问,c#,C#,我创建了三个类,它们通过grander.Father.Child关系中的属性相互关联。我试图写入child类的属性,但是Father类的get返回null,如果我通过整个层次结构调用child类。这些是三类的一部分: namespace ShiftJournal.Library { public class JournalEntry { public WorkOrder OrderInfo { get; set; } = new WorkOrder();
grander.Father.Child
关系中的属性相互关联。我试图写入child
类的属性,但是Father
类的get
返回null
,如果我通过整个层次结构调用child
类。这些是三类的一部分:
namespace ShiftJournal.Library
{
public class JournalEntry
{
public WorkOrder OrderInfo { get; set; } = new WorkOrder();
public DateTime Timestamp { get; set; }
public int FinishedQty { get; set; }
}
public class WorkOrder
{
public ElectronicAssembly Assembly { get; set; } = new ElectronicAssembly();
public string Number { get; set; }
}
public class ElectronicAssembly
{
public string PartNo { get; set; }
public string Description { get; set; }
}
}
我尝试执行的操作(代码在OrderInfo
属性处返回null
using System;
using ShiftJournal.Library;
namespace ShiftJournal.UI
{
public class Program
{
static void Main(string[] args)
{
JournalEntry entry = new JournalEntry();
entry.OrderInfo.Assembly.PartNo = @"Something";
}
}
}
我在这里试图实现的是可能的吗?还是我遗漏了一些关于类的使用
我必须分别对每个类进行寻址吗
任何帮助都将不胜感激
提前感谢,
Boris。我在最后的大括号里填好后,你的代码对我来说非常有效。你使用的是什么版本的C?如果它能编译,它应该可以工作。我在VS2017社区中使用的是C,它应该是C 7.0。@BorisK。给这个问题添加一个例外。效果很好。在我看来,有一个看似不重要的细节你需要修改在您正在运行的代码中运行不同的代码,或者您没有注意到的东西。我怀疑您可能没有共享任何实际代码,而只是在编辑器中编写的一个特别示例,其中包括您认为实际代码正在执行的所有操作。这与问题没有严格的关系,但与您的姓名有关(祖父、父亲、孩子)建议继承,而实际上你在使用构图(有一个vs是一个关系)