我有一些问题.我想按名称创建类的实例.我找到了Activator.CreateInstance http://msdn.microsoft.com/en-us/library/d133hta4.aspx它工作正常,我发现了这一点:
通过反射设置一个属性
也是一个字符串值.
但是这两个怎么办呢?我的意思是,我知道类的名称,我知道该类中的所有属性,我在字符串中有这个.例如:
string name = "MyClass";
string property = "PropertyInMyClass";
Run Code Online (Sandbox Code Playgroud)
如何创建实例并为属性设置一些值?
如何根据参数调用构造函数内的基础构造函数?例如:
public SomeConstructor (){
if(SomeParameter == "something") //here call base("something");
else //here call base("something else")
}
Run Code Online (Sandbox Code Playgroud)
在我的例子中
SomeParameter
Run Code Online (Sandbox Code Playgroud)
可以是例如本地计算机名称.
为了解释我在做什么,我想根据计算机名确定构造函数.我正在研究MVC项目,当我在服务器上发布项目时,我仍然忘记更改连接字符串的名称.所以,我想指定计算机名称==我的计算机名称,然后调用
:base("DefaultConnection")
Run Code Online (Sandbox Code Playgroud)
否则,请致电
:base("ServerConnectionString")
Run Code Online (Sandbox Code Playgroud)