在当前上下文中动态设置属性



我想要实现的是在运行时动态设置一些属性在应用程序的当前上下文中。

,

假设我正在运行一个网页,并在页面加载事件,我想动态设置一个控件的属性-属性,我有它存储在数据库或外部资源。

我试过使用反射,但它不起作用,因为我应该在编译时指向一个现有的对象,而不是运行时。代码示例:

    string propertyName = "RadTabStrip1.Tabs[0]";
    string propertyValue = "Bla bla";
    Type t = typeof(RadTab);
    t.InvokeMember("Text", BindingFlags.SetField | BindingFlags.SetProperty, null, propertyName, new object[] { propertyValue });

是否有一种方法可以通过使用反射,代码集或LINQ表达式来实现这一点?

这将是相当容易实现与CodeDom除了如果我使用CodeDom,它将执行当前上下文之外,这意味着我将无法访问当前上下文控件/对象。是否有可能使用某种ref参数与代码dom?

从我看到的,你可以简单地使用反射f.e.,像这样

var tab = new RadTab(); // i guess you have that object reference somewhere else
var type = typeof(RadTab);
type.GetProperty(propertyName).SetValue(tab, propertyValue); 

相关内容

  • 没有找到相关文章

最新更新