相关疑难解决方法(0)

动态地将成员添加到动态对象

我正在寻找一种动态添加成员动态对象的方法.好的,我想需要一点澄清......

当你这样做:

dynamic foo = new ExpandoObject();
foo.Bar = 42;
Run Code Online (Sandbox Code Playgroud)

Bar属性将在运行时动态添加.但代码仍然"静态"引用Bar(名称"Bar"是硬编码的)...如果我想在运行时添加属性而不知道它在编译时的名称怎么办?

我知道如何使用类的方法使用自定义动态对象(我实际上是几个月前的博客)DynamicObject,但是如何使用任何动态对象?

我可以使用IDynamicMetaObjectProvider界面,但我不明白如何使用它.例如,我应该将哪个参数传递给GetMetaObject方法?(它期待一个Expression)

顺便说一句,你如何对动态对象进行反射?"定期"反思TypeDescriptor并不显示动态成员......

任何见解将不胜感激!

reflection dynamic-language-runtime dynamic .net-4.0 c#-4.0

8
推荐指数
3
解决办法
3651
查看次数