0
string attribute = doc.SelectSingleNode("/class/@name").Value.ToString();
ObjectHandle employee = Activator.CreateInstance("EmployeeData", attribute);
Object employeeObject = employee.Unwrap();
return employeeObject;

「EmployeeData」は、現在実行中のアセンブリです。属性は、XML ファイルのエントリ ノードから選択されます。ObjectHandle と UnWrap() を使用せずに、より型安全な方法でオブジェクトを作成して返す必要があります。誰でも助けることができますか?

4

1 に答える 1

1

これは仕事をするように聞こえます:

var type = Assembly.GetExecutingAssembly().GetType(attribute);
return Activator.CreateInstance(type);

オーバーロードを使用CreateInstance(Type)すると、型を定義するアセンブリが既に読み込まれていることが保証されるため、オーバーロードは自由にストレートを返すことができobjectます。

于 2013-09-16T11:57:06.623 に答える