我有以下问题:
我正在使用动态对象(ExpandoObject),我想要更改其运行时的属性。 什么是线索...我希望我的属性是双倍的,因为我使用的用户控件如果它的类型不是双重的话,则无法识别该属性是否为double。据我所知,动态对象的属性已知类型,在这种情况下应该是双重的,但它不适用于此控件。那么有什么明确的方法,当我声明动态对象的新属性来告诉它是双倍的时候?
提前致谢, Yoan
答案 0 :(得分:1)
如果是ExpandoObject
,只需分配一个双:
dynamic obj = new ExpandoObject();
obj.Foo = 123.45;
Console.WriteLine(obj.Foo.GetType()); // System.Double
但是,我会说,dynamic
对象可能不是UI绑定(对用户控件)的好选择,因为它们没有强大的属性模型。事实上,大多数UI绑定甚至都与dynamic
不同,并且会尝试使用System.ComponentModel
(不知道dynamic
)。