【问题标题】:Is it possible to add an attribute of Object with C# [duplicate]是否可以使用 C# 添加对象的属性 [重复]
【发布时间】:2015-03-04 20:49:59
【问题描述】:

在 JavaScript 中,我可以创建一个新对象(称为 clean)。然后,如果我想设置该对象的属性,我只需设置 objectName.attributeName = 不管。是否可以在 C# 中做类似的事情,定义一个类?


var clean = new Object();
clean.isClean = true;

【问题讨论】:

标签: javascript c# object attributes


【解决方案1】:

由于 .NET 4.0 是的,您可以使用ExpandoObject

dynamic expando = new ExpandoObject();
expando.text = "hello world";

无论如何,如果您只是想即时创建对象,您应该使用匿名类型声明:

var obj = new { text = "hello world" };

实际上,expando 对象有一个附加值:您还可以使用委托添加方法。例如:

dynamic expando = new ExpandoObject();
expando.DoIt = new Action
(
    () => 
    {
        // Code here
    }
);

expando.DoIt();

【讨论】:

  • 你有一些文件吗?我有兴趣了解这个ExpandoObject
  • @jsve:您尝试寻找文档吗?只需搜索 ExpandoObject 即可为我找到它 - 将 .net 或 msdn 添加到搜索中会更干净。
  • @JonSkeet 其实这是我给他发文章的:P
  • @jsve 检查这个tinyurl.com/ot7pw2v !! :D
猜你喜欢
  • 2017-12-18
  • 2021-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-14
相关资源
最近更新 更多