如何从字符串变量调用类的构造函数?
在PHP中,我可以这样做:
$myclassName = '\Namespace\MyClass';
$myParameters = array ('param1', 'param2');
$reflection = new \ReflectionClass($myclassName );
$myClassInstance = $reflection->newInstanceArgs($myParameters);
我能用C#做什么?
我有一个类似
的列表和她的ViewModel
我的代码中有一个ObservableCollection我不会为每种类型添加一个新命令
AddPersonView = new RelayCommand(() =>
{
//code
});
AddCarView = new RelayCommand(() =>
{
//code
});
//etc
我想将CommandParameter传递给同一个Command
AddView = new RelayCommand((name) =>
{
// pseudo code
var o = CreateIntance(name + "View");
o.DataContext = CreateIntance(name + "ViewModel");
_observableList.Add(o);
// end
});
答案 0 :(得分:2)
您可以尝试Activator.CreateInstance。
喜欢
Namespace.MyClass obj = (Namespace.MyClass)Activator.CreateInstance(typeof(Namespace.MyClass), new[] { param1, param2});