string attribute = doc.SelectSingleNode("/class/@name").Value.ToString();
ObjectHandle employee = Activator.CreateInstance("EmployeeData", attribute);
Object employeeObject = employee.Unwrap();
return employeeObject;
'EmployeeData'是当前正在执行的程序集。从XML文件的入口节点中选择属性。我需要以更安全的方式创建和返回一个对象,而不使用ObjectHandle和UnWrap()。有人可以帮忙吗?
答案 0 :(得分:1)
听起来这可以胜任:
var type = Assembly.GetExecutingAssembly().GetType(attribute);
return Activator.CreateInstance(type);
使用CreateInstance(Type)
重载可确保已加载定义类型的程序集,以便重载可以直接返回object
。