当前位置:  开发笔记 > 编程语言 > 正文

在C#2005中动态获取/设置对象的属性

如何解决《在C#2005中动态获取/设置对象的属性》经验,为你挑选了1个好方法。

我继承了一个代码库,我正在编写一个小工具来为它更新数据库.该代码使用像SubSonic这样的数据访问层(但它是本土的).对象有很多属性,比如"id","templateFROM"和"templateTO",但是有50个属性.

在屏幕上,我无法在自己的文本框中显示所有50个属性以进行数据输入,因此我有一个包含所有可能属性的列表框,以及一个用于编辑的文本框.当他们在列表框中选择一个属性时,我在文本框中填入属性对应的值.然后我需要在完成编辑后更新属性.

现在我正在使用2个巨大的switch case语句.这对我来说似乎很愚蠢.有没有办法动态告诉C#我想要设置或获取的属性?也许喜欢:

entObj."templateFROM" = _sVal;

??



1> okutane..:

您需要为该任务使用System.Reflection.

entObj.GetType().GetProperty("templateFROM").SetValue(entObj, _sVal, null);

这应该对你有帮助.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有