只是探索c#4.试着让我了解所有这些动态的东西.对不起,如果这个问题很愚蠢,没有这个领域的经验.
如果我有一个ExpandoObject并想在运行时向它添加公共属性(使用get和set),我该怎么做呢?
例如,我有一个documentTemplate和一个文档,它有一个指向documentTemplate的属性.本文档模板有一些标签标题(例如,学生之间开发的功能),应该在制作文档时解决(例如,集中,记忆等).因此,只要在文档中设置模板,我想创建一个类,其具有与模板中的标签标题相同的属性,然后使用一些UI元素,例如PropertyGrid,我可以拥有该用户为标签标题填写标签值.
谢谢阅读!
Pau*_*sik 95
我想知道如何可以"动态"将成员添加到类中并提出以下示例:
using System;
using System.Collections.Generic;
using System.Dynamic;
class Program
{
static void Main()
{
dynamic expando = new ExpandoObject();
var p = expando as IDictionary<String, object>;
p["A"] = "New val 1";
p["B"] = "New val 2";
Console.WriteLine(expando.A);
Console.WriteLine(expando.B);
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码片段的重点是成员A和B被定义为字符串文字(硬编码/字符串化)并通过ExpandoObject的IDictionary接口添加.我们通过直接访问密钥并输出到控制台来测试密钥的存在和值(并证明概念).