C# 在运行时添加属性

2023-11-29

我读过几篇文章,但在运行时向类添加属性时仍然遇到问题。它应该很简单,因为我有一个这样的类:

public class MyClass
    {
        String Template;
        String Term;
     }

在运行时,我必须添加一些属性,例如电话、电子邮件(这取决于......)。 有人可以解释一下如何在类初始化期间添加这些属性吗?

Srecko


我认为在这里添加属性不是正确的做法。 “电子邮件”或“电话”等属性只是一些附加的键和值对。你可以使用Dictionary,但这会阻止您多次使用密钥(例如,联系人的多个电子邮件地址)。所以你也可以使用List<KeyValuePair<string, string>>。像那样:

public class MyClass
{
    String Template;
    String Term;
    public List<KeyValuePair<string, string>> Attributes { get; private set; }

    public MyClass() {
        Attributes = new List<KeyValuePair<string, string>();
    }

    public void AddAttribute(string key, string value) {
        Attributes.Add(new KeyValuePair<string, string>(key, value));
    }
}

// to be used like this: 
MyClass instance = new MyClass();
instance.AddAttribute("Email", "[email protected]");
instance.AddAttribute("Phone", "555-1234");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 在运行时添加属性 的相关文章

  • 如何在 C++ 中的文件末尾添加数据?

    我已按照网上的说明进行操作 此代码应该将输入添加到文件 数据库 的末尾 但当我检查时 数据会覆盖现有数据 请帮忙 这是我的代码 int main string name string address string handphone cou
  • 如何使用MemoryCache代替Timer来触发一个方法?

    以下方法通过等待已运行操作的结果来处理并发请求 对数据的请求可能会使用相同 不同的凭据同时出现 对于每组唯一的凭据 最多可以有一个GetCurrentInternal呼叫正在进行中 当准备就绪时 该呼叫的结果将返回给所有排队的服务员 pri
  • std::cout 和 std::wcout 有什么区别?

    在c 中 有什么区别std cout and std wcout 它们都控制流缓冲区的输出或将内容打印到控制台 或者它们只是相似吗 它们作用于不同的字符类型 std cout uses char作为字符类型 std wcout uses w
  • 如何检查QProcess是否正确执行?

    QProcess process sdcompare QString command sdcompare QStringList args sdcompare command sdcompare diff args sdcompare lt
  • 启动时出现 OData v4 错误:找不到段“Whatever”的资源

    我正在构建新的 v4 服务 一切进展顺利 直到我为新模型 实体添加了新控制器 并在启动站点进行测试运行时收到此错误 控制器似乎编码正确 就像其他控制器一样 控制器 CustomersOData 中的操作 GetFeed 上的路径模板 Cus
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 在 Unity 进程和另一个 C# 进程之间进行本地 IPC 的最快方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望每秒大约 30 次从 C 应用程序向我的 Unity 应用程序传送大量数据 由于 Unity 不支持映射内存和管道 我考虑了 t
  • C# Dns.GetHostEntry 不返回连接到 WiFi 的移动设备的名称

    我有一个 C 中的 Windows 窗体应用程序 我试图获取列表中所有客户端的主机名 下面给出的是 ra00l 来自此链接的代码示例 GetHostEntry 非常慢 https stackoverflow com questions 99
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 如何在 Linq 中获得左外连接?

    我的数据库中有两个表 如下所示 顾客 C ID city 1 Dhaka 2 New york 3 London 个人信息 P ID C ID Field value 1 1 First Name Nasir 2 1 Last Name U
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 如何将自定义 JSON 文件添加到 IConfiguration 中?

    我正在使用 asp net Autofac 我正在尝试加载自定义 JSON 配置文件 并基于该文件创建 实例化 IConfiguration 实例 或者至少将我的文件包含到默认情况下构建的 IConfiguration asp net 中
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi

随机推荐

  • Angular 2:无法读取未定义的属性“push”

    在我的 Angular 2 应用程序中 我有一个函数 notification Array
  • 如何使组合框项目列表动态化?

    我在工作表上使用 生成 按钮 当我单击该按钮时 会出现一个弹出窗口 表单 其中包含两个组合框 根据第一个组合框中的选择 填充第二个组合框选项列表 对于第一个组合框 当我对项目值进行硬编码时 它工作正常 表单代码如下 Private Sub
  • 在sql和pyodbc中参数化TOP值

    我尝试参数化从表中获取的顶行数 我尝试过 db cursor execute SELECT TOP VALUE FROM mytable WHERE param top value param 它表明 pyodbc ProgrammingE
  • 跨 REST 微服务的事务?

    假设我们有一个用户 钱包 REST 微服务和一个将事物粘合在一起的 API 网关 当 Bob 在我们的网站上注册时 我们的 API 网关需要通过 User 微服务创建用户 并通过 Wallet 微服务创建钱包 现在这里有一些可能出现问题的场
  • 使用 keras 在 gcloud ml-engine 上处理 TB 数据的最佳方法

    我想使用 gcloud 存储上约 2TB 的图像数据训练模型 我将图像数据保存为单独的 tfrecords 并尝试按照此示例使用张量流数据 api https medium com moritzkrger speeding up keras
  • 响应 SQL 'in' 语句的 R 语句是什么?

    a case df data frame id c 101 102 102 103 104 104 104 calmonth c 01 01 01 01 01 01 02 product c apple apple htc htc appl
  • 如何生成开发MDM/APNS证书?

    我们已经取得了iOS开发者企业帐户 并且我们已经收到了 pem格式的MDM证书 我们已经从门户网站下载了这个mdm证书https identity apple com pushcert 但我们不知道这是生产 MDM 证书还是开发 MDM 证
  • 使用视图寻呼机 android 覆盖 Flow 功能

    我必须在我的应用程序中实现类似于mobikwik 应用程序封面流程 and 我已经尝试过Android CoverFlow 小部件库以及其他一些人 但没有任何效果按预期进行 我如何使用 ViewPager 实现这种类型的视图 我已经创建了我
  • 给定四个坐标检查它是否形成正方形

    所以我试图编写一个简单的方法 它接受四个坐标集并确定它们是否形成正方形 我的方法是从一个点开始 计算其他三个点与基点之间的距离 由此我们可以得到具有相同值的两条边和一条对角线 然后我使用毕达哥拉斯定理来查找边的平方是否等于对角线 如果是 i
  • 如何在表单之外捕获按键操作?

    我一直在尝试捕获在 winform 之外按下的按键 但显然 KeyPress 事件不起作用 我无法比 KeyPress 事件更接近 该事件仅适用于指定的表单级别 我怀疑我必须这样做 DllImportAttribute user32 dll
  • R中的最长公共子串查找两个字符串之间的不连续匹配

    我有一个关于在 R 中查找最长公共子字符串的问题 在 StackOverflow 上搜索一些帖子时 我了解了 qualV 包 但是 我看到这个包中的 LCS 函数实际上找到了 string1 中出现在 string2 中的所有字符 即使它们
  • 显示 Lucene 搜索结果中的示例文本

    目前 我正在使用 Lucene 版本 3 0 2 创建一个类似于字典的搜索应用程序 我想要显示的对象之一是一种 示例 Lucene 将在书中查找单词 然后显示使用该单词的句子 我一直在阅读 Lucene in Action 一书 它提到了类
  • 如何访问 Sinatra 中的*传入*标头?

    我通过以下方式向 Sinatra 应用程序发送请求 curl X POST header MyHeader 123444 http localhost 9292 test d 我如何在路线中访问它 这些不起作用 headers MyHead
  • 分区表,每个分区位于我的硬盘上的不同磁盘上

    我有一个表想要在 MYSQL 5 5 中分区 我知道该怎么做 但我还需要为每个分区指定一个磁盘 例如 我想输入 P01 在 c P02 在 d 等等 我目前正在使用这个语句 这不能满足我的要求 但效果很好 ALTER TABLE trans
  • 如何通过 MS Access 在 SQL Server 中创建临时表

    我有一个到 SQL Server 的 ODBC 连接 我需要在 Access 中处理数据 但时间太长 我的想法是将这些数据推送到 SQL Server 临时表并让 SQL Server 进行处理 我的 Access 数据库中有许多传递查询
  • 使用更新触发器更新另一个表

    我正在开发的程序的后端设计很差 基本上需要两个不同的表来保存完全相同的信息 我正在尝试编写一个触发器 它将使用刚刚在表 A 中更新的相同信息来更新表 B 哦 这是使用 MYSQL 数据库 我不确定我是否只是有语法错误或者我是否缺少概念 任何
  • Docker 如何仅在发生更改时运行 piprequirements.txt?

    在 Dockerfile 中我有一个安装层requirements txt FROM python 2 7 RUN pip install r requirements txt 当我构建 docker 映像时 它会运行整个过程不管对此文件所
  • HtmlUnit 下载文件

    我正在尝试通过 HTMLUnit 下载文件 但每次我使用这样的代码时 InputStream stream anchor click getWebResponse getContentAsStream 我得到的是网站而不是文件 下载链接如下
  • 通过xml设置自定义字体

    我如何设置一个字体 其 ttf 驻留在我的assets通过xml文件夹 我知道如何以编程方式做到这一点但是如何通过 xml 做到这一点呢 提前致谢 您不能直接使用 XML 来完成此操作 但是您可以扩展TextView并设置默认字体 pack
  • C# 在运行时添加属性

    我读过几篇文章 但在运行时向类添加属性时仍然遇到问题 它应该很简单 因为我有一个这样的类 public class MyClass String Template String Term 在运行时 我必须添加一些属性 例如电话 电子邮件 这