4

我是 Stackoverflow 的新手,如果我问错了问题,希望会员们能原谅我。我刚刚开始学习 C# 和课程。我想到的一个非常基本的问题是如何创建我的类的对象模型(层次结构)。让我解释 :

可以说,我有一个名为PEX的课程。当我实例化这个类时,它应该包含一些属性、方法和另一个名为Windows的类。现在 Windows 还将包含一些方法和属性以及另一个类Window

类 Windows & Window 不应直接访问,而只能通过 PEX 类访问。

Windows 将返回所有 Window 实例......基本上就像 Excel 对象模型一样。

我应该能够做 foreach(Window window in PEX.Windows) { ....} 和其他类似的东西......我也阅读了继承,但无法获得这个对象模型。

public class PEX
{
    public _Windows Windows;

    public PEX()
    {
        Windows = new _Windows();
    }
}

public class _Windows
{
    public _Window Window;
    private int _count;

    public _Windows()
    {
        Window = new _Window();
        _count = 10;
    }

    public int Count
    {
        get { return _count; }
    }       
}

public class _Window
{

    private string _title;

    public _Window()
    {
        _title = "Roshan";
    }

    public string Title
    {
        get { return _title; }
    }
}
4

1 回答 1

3

您所描述的通常称为工厂模式。这是父类负责创建子类的地方。此外,您可能希望避免将Window其用作类名。这是一个类具有嵌套类的简单示例。

public class PEX
{
 public List<PexWindow> Windows { get; set; }//list of windows you can foreach on
 public PEX()
 {
  Windows = new List<PexWindow>();//constructor to make sure the list can be worked with
 }

 private class PexWindow
 {
  public int Param { get; set; }
  public string Description { get; set; }
 }
}
于 2013-03-24T09:42:33.067 回答