可能性の重複:文字列変数からクラスのコンストラクタを呼び出す方法
using c# reflection to call a constructorTypeを文字列として指定して新しいオブジェクトを作成しますか?
?
PHPでは、私はこれを行うことができます:私はC#で行うことができたよう
$myclassName = '\Namespace\MyClass';
$myParameters = array ('param1', 'param2');
$reflection = new \ReflectionClass($myclassName);
$myClassInstance = $reflection->newInstanceArgs($myParameters);
を?
私はPersonView
- のような景色Oリストを持っている
- HouseView
- カービュー
と彼女のViewModel
- PersonViewModel
- HouseViewModel
- CarViewModel
私は自分のコード内の1つのObservableCollectionを持っている私は、罠が
AddPersonView = new RelayCommand(() =>
{
//code
});
AddCarView = new RelayCommand(() =>
{
//code
});
//etc
iが同じコマンド
AddView = new RelayCommand((name) =>
{
// pseudo code
var o = CreateIntance(name + "View");
o.DataContext = CreateIntance(name + "ViewModel");
_observableList.Add(o);
// end
});
その質問(http://stackoverflow.com/q/3255697/816721)での応答と同様に
は私 – rkmax
のための明確ではありませんなぜあなたはこれをしたいですか?一般に、PHPで何かしたことは、C#でやりたくないことです。 –
私は自分のクラスとそのメソッドの名前を書いて、コードをもっと保守しておくことができるようにしました。 – rkmax