Я работаю с чужим кодом и пытаюсь внести некоторые изменения.Так что мне нужно сделать следующее:
RemoteFileDP remoteFile = new DPFactory().CreateRemoteFileDP(configData);
И изменить его так, чтобы remoteFile мог равняться тому, что находится в строковой переменной.Для дальнейшего объяснения позвольте мне дать еще немного кода:
ConfigDP configData = new ConfigDP();
Таким образом, приведенный выше оператор выполняется перед оператором remoteFile, а ConfigDP имеет два класса над ним (абстрактный Config, а затем его основание: абстрактный ConfigBase),DP также является потомком двух абстрактных классов над ним (абстрактного RemoteFile и абстрактного RemoteFileBase).
Насколько я понимаю, remoteFile - это результат данных, извлеченных из запроса к базе данных, сохраненных в списке или в Hashtable (извините, простостажер, так что я работаю через это).
Причина, по которой мне нужен remoteFile для принятия строкового значения, заключается в том, что существует МНОГИЕ методы, использующие информацию в remoteFile, и я хотел бы избежать создания целого ГЛАВА перегруженных методов, которые принимают строковое значение вместоRemoteFileDP remoteFile.
Так что, если я могу принять строковое значение типа:
string locationDirectory;
, которое передается из другого метода и затем имеет что-то похожее на следующее:
RemoteFileDP remoteFile = locationDirectory;
тогда все другие методы, использующие remoteFile, не должны быть перегружены или изменены.
Извините за все детали, но это мой первый пост, поэтому я надеюсь, что предоставил достаточно информации.Я посмотрел на C # Преобразование динамической строки в существующий класс и C #: создание объекта с типом, определенным во время выполнения , и написал следующий код:
RemoteFilesDP remoteFile = (RemoteFileDP)Activator.CreateInstance(typeof(RemoteFileDP), locationDirectory);
Однако я продолжаю получать сообщение об ошибке «MissingMethodException», что конструктор для RemoteFileDP не найден, но у меня есть конструктор, как показано ниже:
public RemoteFileDP()
{
} //end of RemoteFilePlattsDP constructor
Заранее спасибо за помощь!