gpt4 book ai didi

c# - 创建自己的对象模型(如 Excel VBA 的对象模型)

转载 作者:行者123 更新时间:2023-11-30 12:11:24 24 4
gpt4 key购买 nike

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

比方说,我有一个名为 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; }
}
}

最佳答案

您所描述的通常称为 factory pattern .这是父类负责创建子类的地方。此外,您可能希望避免使用 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; }
}
}

关于c# - 创建自己的对象模型(如 Excel VBA 的对象模型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15596946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com