【发布时间】:2014-07-18 00:47:13
【问题描述】:
IDE:Visual Studio 2010、C#、.NET 4.0、Winforms 应用程序。在我开始看这堂课之前:
public class Car
{
private string _break;
public string Break
{
get { return _break; }
set { _break = value; }
}
}
我还有一门课:
public class Runner
{
Car cObj = new Car();
string propertyName = "Break";
//cobj.Break = "diskBreak"; I can do this but I have property name in string format
cobj[propertyName] = "diskBreak"; // I have the property name in string format
// and I want to make it's Property format please suggest how to to this?
}
我有字符串格式的属性名称,我想将其转换为属性并初始化它。请告诉我如何执行此操作,我认为可以使用反射。但我没有这方面的知识。
【问题讨论】:
-
正确的术语是反射。你想做的事情相当容易;只是一些陈述。首先了解如何从对象中检索属性,然后了解如何为检索到的属性设置值。
-
我有字符串格式的属性名称,即“Break”,我想在 obj.Break 中转换它,这样我就可以给它赋值。这只是一个例子,我必须使用它我的应用程序中的概念
-
@Jeroen Vannevel,我知道它的反射,拼写错误。但如果你能说出解决方案而不是发现拼写错误,那就更好了。
-
我确实给了你解决方案;我只是告诉你该怎么做而不是给你代码(这是 2 行)。如果您希望代码没有任何尝试,请查看链接的副本。
标签: c# reflection