Я поддерживаю чужой код, и у них есть этот раздел в методе:
object ReportCriteriaInstance =
Activator.CreateInstance(
typeof(MyCompany.Utils.ReportStructure.ReportSearchCriteria));
//ReportCriteria is passed in as a method parameter
ReportCriteriaInstance = ReportCriteria;
Я не знаю, почему они устанавливают ReportCriteriaInstace
на другое значение через одну строку после его создания с помощью CreateInstance()
.
Помимо этого,
поскольку мы передаем известный тип CreateInstance
(MyCompany.Utils.ReportStructure.ReportSearchCriteria
), есть ли причина не использовать вместо него new ()? Какая-то причина по умолчанию, конструктор без параметров, возможно, я не получаю?