【发布时间】:2011-06-21 19:32:13
【问题描述】:
假设我有
class Person
{
public Person(int age, string name)
{
Age = age;
Name = name;
}
public int Age{get;set}
public string Name{get;set}
}
我想创建一个方法来接受一个字符串,该字符串包含 "age" 或 "name" 并返回具有该属性值的对象。
像下面的伪代码:
public object GetVal(string propName)
{
return <propName>.value;
}
如何使用反射来做到这一点?
我正在使用 asp.net 3.5、c# 3.5 进行编码
【问题讨论】:
-
问问自己,强类型访问是否是更好的选择。大多数时候都是这种情况。
-
请记住,您显示的类没有具有任何属性。它有两个字段。字段和属性之间有很大的不同——你真正感兴趣的是什么?
-
@ChaosPandion:强类型访问是什么意思?开关(道具名称){} ?
-
@jon - 实际上是属性。让我编辑我的问题。
-
@TheMoot - 请记住,我的建议非常笼统,因为我不知道您的程序的逻辑。这可能意味着对现有逻辑的完全重写,这在许多情况下是不可行的。
标签: c# asp.net reflection