创建自己的对象模型(如Excel VBA)
本文关键字:Excel VBA 自己的 对象模型 创建 | 更新日期: 2023-09-27 18:05:36
我是新来的Stackoverflow &如果我问错了问题,希望大家能原谅我。我刚刚开始学习c#和相关课程。我想到的一个非常基本的问题是如何创建类的对象模型(层次结构)。让我解释一下:
假设我有一个名为PEX的类。当我实例化这个类的时候,它应该包含一些属性,方法;另一个类叫做Windows。现在Windows也会包含一些方法&财产,另一个类Window。class Windows &窗口不能直接访问,只能通过PEX类访问。
Windows将返回所有Windows实例....就像Excel对象模型。
我应该能够做到foreach(窗口窗口在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; }
}
}
您所描述的通常被称为工厂模式。这是父类负责创建子类的地方。另外,您可能希望避免使用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; }
}
}