如何声明动态对象的属性类型?

时间:2012-06-07 09:17:45

标签: c# object dynamic

我有以下问题:

我正在使用动态对象(ExpandoObject),我想要更改其运行时的属性。 什么是线索...我希望我的属性是双倍的,因为我使用的用户控件如果它的类型不是双重的话,则无法识别该属性是否为double。据我所知,动态对象的属性已知类型,在这种情况下应该是双重的,但它不适用于此控件。那么有什么明确的方法,当我声明动态对象的新属性来告诉它是双倍的时候?

提前致谢, Yoan

1 个答案:

答案 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)。