我想在运行时动态地向ExpandoObject添加属性.所以例如添加一个字符串属性调用NewProp我想写类似的东西
var x = new ExpandoObject();
x.AddProperty("NewProp", System.String);
Run Code Online (Sandbox Code Playgroud)
这很容易吗?
我正在尝试学习C#4.0附带的所有新东西.我无法理解DynamicObject和ExpandoObject类型之间的差异.它似乎DynamicObject用于例如当您想要从Python脚本访问变量以及ExpandoObject与COM/Office对象交谈时.我对吗?它们的用途有何不同?
只是探索c#4.试着让我了解所有这些动态的东西.对不起,如果这个问题很愚蠢,没有这个领域的经验.
如果我有一个ExpandoObject并想在运行时向它添加公共属性(使用get和set),我该怎么做呢?
例如,我有一个documentTemplate和一个文档,它有一个指向documentTemplate的属性.本文档模板有一些标签标题(例如,学生之间开发的功能),应该在制作文档时解决(例如,集中,记忆等).因此,只要在文档中设置模板,我想创建一个类,其具有与模板中的标签标题相同的属性,然后使用一些UI元素,例如PropertyGrid,我可以拥有该用户为标签标题填写标签值.
谢谢阅读!
访问像javascript语言这样的c#类属性会让生活变得更轻松.
我们如何在C#中做到这一点?
例如:
someObject["Property"]="simple string";
Console.WriteLine(someObject["FirstName"]);
Run Code Online (Sandbox Code Playgroud)