将一个类的所有对象放入一个列表中

2023-12-22

我有一个 C# 类,称为 C。当我执行该程序时,我创建该类的新对象。在某些时候,我需要创建一个列表List<C> listC = new List();我放置我创建的所有对象的地方。 当然,我可以在创建该对象后使用 list.Add 为每个对象执行此操作。但由于某种难以解释的原因,我宁愿将 thisiss 类创建的所有对象添加到列表中。

这有可能吗?我不确定是否有解决方案:-)。

预先感谢所有回答的人。


你需要的叫做工厂模式 http://en.wikipedia.org/wiki/Factory_method_pattern。您使用一个类来构造您的类并跟踪所构造的内容。

public class CFactory
{
    public CFactory()
    {
        CreatedCBacking = new List<C>();
    }

    private List<C> CreatedCBacking;

    public IList<C> CreatedC
    {
        get
        {
             return CreatedCBacking.AsReadonly();
        }
    }

    public C NewC(String s, string t, bool b)
    {
       C temp = new C(s, t, b);
       CreatedCBacking.Add(temp);
       return temp;
    }

}

public class C
{
     public C(String s, string t, bool b)
     {
         //You class here
     }
}

你使用它的方式是这样的

public static void Main()
{
    var factory = new CFactory();
    var c1 = factory.NewC("string", "string", true);
    var c2 = factory.NewC("string2", "string2", false);

    foreach(var c in factory.CreatedC)
    {
        //loops over c1 and c2
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将一个类的所有对象放入一个列表中 的相关文章

  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 如何针对 Nancy 中的 Active Directory 进行身份验证?

    这是一篇过时的文章 但是http msdn microsoft com en us library ff650308 aspx paght000026 step3 http msdn microsoft com en us library
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 用 C 实现 Unix shell:检查文件是否可执行

    我正在努力用 C 语言实现 Unix shell 目前正在处理相对路径的问题 特别是在输入命令时 现在 我每次都必须输入可执行文件的完整路径 而我宁愿简单地输入 ls 或 cat 我已经设法获取 PATH 环境变量 我的想法是在 字符处拆分
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • 解压 R 数据框中的列表

    我有一个dataframe其中一个字段包含不同长度的列表 我想将该字段中列表的每个元素提取到其自己的字段中 以便我可以将结果收集到一个很长的字段中dataframe每个列表元素都有一个 id 这是一个例子dataframe dat lt s

随机推荐

  • 如何根据索引向量求和

    我有 3 个向量 一个和向量 一个贡献向量和一个值向量 我想根据它们的贡献向量对值向量进行求和 并将它们放在和向量中相应的索引中 一个例子是 A 0 0 sum vector B 0 0 1 1 contribution vector C
  • CodeBlocks、GCC:更改项目语言 c 和 c++?

    当我选择开始控制台项目时 它允许您选择 C 或 C 但一旦创建 我不知道如何更改它 另外 当您创建 Win32 GUI 应用程序时 它根本不提供该选项 并且其默认值为 C 哪里可以改成C 我多年来一直在寻找所有项目设置 将我的文件重命名为
  • OpenCart:如何创建全局变量?

    我正在尝试在 OpenCart 中创建两个全局变量 我基本上希望能够在我的任何 tpl files 我尝试过编辑 library system php并且config php通过增加 global1 test 在我的文件中 然而调用它 tp
  • CMake 中 OpenSSL Crypto 的静态链接

    我需要为 MIPS 设备制作交叉编译的 OpenSSL 我尝试按照文档进行操作 放OPENSSL USE STATIC LIBS为 true 并设置target link libraries到您需要的库文件 CMakeLists txt c
  • elasticsearch.ElasticsearchException:标语无效或丢失(OpenSearch)

    从 Elasticsearch 迁移到 AWS OpenSearch 后 通过调用 OpenSearch 时出现以下错误Elasticsearch Rest High Level Client elasticsearch Elasticse
  • 如何删除谷歌图表中的默认错误消息

    如何删除谷歌图表中显示的默认错误 如下所示 要删除谷歌错误 请听 error 图表或其他对象上的事件 当事件被触发时 使用google visualization errors removeError 这里 我故意造成错误 将其从googl
  • driver.manage.wait(long timeout) 和显式等待之间的区别

    谁能说出以下的区别 driver manage wait long timeout and WebDriverWait wait new WebDriverWait driver WAIT IN SECONDS 明确等待 了解我未来的参考
  • 匹配 uuid.uuid4().hex 生成的值的正确正则表达式是什么?

    如何验证某个值是否等于此代码生成的 UUID4 uuid uuid4 hex 它应该是一些正则表达式吗 由以下形式的 32 个字符长的字符串生成的值 60e3bcbff6c1464b8aed5be0fce86052 据我所知 Martijn
  • 创建资源文件以在 Qt Designer 中使用它

    我想向小部件添加背景图像 因此我需要一个资源文件 但我无法在 Qt Designer 中创建它 这是我所做的 从小部件中 我进入资源浏览器并单击 添加新文件 按钮 然后弹出一个新窗口 系统要求我指向 qrc 文件 但该文件不存在 而且我不知
  • Swift 元组到可选赋值

    我正在用 Swift 编写一些代码来学习该语言 这是我的基类 import Foundation class BaseCommand NSOperation var status Int nil var message String nil
  • 截断字符串,但删除字符串的中间而不是结尾

    我想出了这个函数 它将给定的字符串截断为给定的单词数或给定的字符数 以较短者为准 然后 在截掉字符数或字数限制之后的所有内容后 它会在字符串中附加一个 如何从字符串中间删除字符 单词并将其替换为 而不是用 替换末尾的字符 单词 这是我的代码
  • 自动滚动不适用于 vbox 布局

    我需要将表单面板居中对齐 所以我使用了vbox布局 使用后自动滚动不再像以前那样工作 代码如下 Usr VWPanel Ext extend Ext Panel id null rid null closable true autoScro
  • 无法访问类 jdk.xml.internal.JdkXmlUtils

    我正在更新 hybris SAP Commerce 2005 的旧公司实习生扩展 它是使用 API 的扩展 我不知道这个扩展有多少年了 然而 当将它应用到java 11时 我发现了这样的问题 Java 11 导入 javax xml ws
  • 编写 Jena 内置函数

    我正在尝试写一个耶拿内置 http jena apache org documentation inference RULEbuiltins从给定的算法返回一个值 然后与该值进行比较 例如 String rule exRule d rdf
  • 最好的 Python Cassandra 库/包装器? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 I found lazyboy https github com digg lazyboy and pycassa https github c
  • 需要密码才能禁用 Android 设备管理员

    我正在考虑一个具有设备管理员权限的安全应用程序 我想看看当用户尝试在 设置 gt 安全 gt 设备管理员 下以管理员身份取消选中该应用程序时 是否可能需要密码 这将增加一个障碍 不允许用户轻易卸载应用程序 因为他们首先需要从应用程序中删除管
  • PHP-解码 JSON

    我有以下脚本从 API 获取搜索结果 然后对数组进行切片并转储它 我在将 JSON 解码为数组时遇到问题 它返回Array 0 这是一个 WordPress 简码 以下是从 api 获取的 Json 示例 barcode 000015426
  • Java:如何获取xml节点路径

    我有以下 xml
  • 我如何知道 UdpClient 是否已关闭/处置?

    我通过通常的异步回调从 UdpClient 接收数据 private void OnUdpData IAsyncResult result byte data udpReceive EndReceive result ref receive
  • 将一个类的所有对象放入一个列表中

    我有一个 C 类 称为 C 当我执行该程序时 我创建该类的新对象 在某些时候 我需要创建一个列表List