获得参考实例的成员提供类C#:使用反射来在构造
public class MyClass
{
public SomeObject myObject;
public AnotherObject myOtherObject;
// many more members
public MyClass()
{
string name = getMemberNameAndValue();
// name == "myObject" or "myOtherObject"
// now obtain reference to _this_ instance's
// member given by `name` so I can set its member's value.
}
}
我不只是想获得一个新的对象,它是同样的类型由name
给,我想获得对正在创建的实例的成员的实际引用,以便我可以设置其自己的成员的值。
编辑:我改变了get
函数的名称。也就是说,这个(服务器调用)函数不仅检索要设置的成员的名称,而且还检索要设置的值。哪个成员(即myObject
或myOtherObject
)将被设置不是固定的,并且可能根本不设置。
EDIT2:我打算的原因(ED)使用反射的是,成员对象的列表会很大,我想避免使用许多if
陈述或者甚至更长switch
(如建议在下面的评论) 。
到目前为止,您试图做些什么来设置使用反射的字段,以及您尝试解决方案时遇到了哪些问题? – Servy 2014-10-31 17:44:19
我对你想要在这里完成的事情感到困惑。为什么你需要为此使用反射?为什么不能用实际的实例来设置它的值?只有当你不知道什么是可能的时候,反思才是必要的......但你在这里确实知道。 – 2014-10-31 17:47:52
'getObjectName'方法不仅返回'myObject' xor'myOtherObject'的值,还返回将要设置的值。这意味着,我需要获得要设置的成员(在函数调用之后),然后进行设置。 – jayflo 2014-10-31 17:51:33