У меня есть куча статических c функций, которые идентичны и реализованы примерно в 15 устаревших приложениях, которые я поддерживаю. Я пытаюсь сделать так, чтобы их было легче поддерживать. Я знаю, что могу создать библиотеку stati c и добавить ссылку на нее во все проекты, но если я когда-нибудь внесу изменения, мне придется перекомпилировать все проекты.
Например, вот одна из функций stati c, которая замусорена в устаревшем коде:
private static void DoFileMove(string source, string destination)
{
Directory.CreateDirectory((new FileInfo(destination)).DirectoryName);
if (File.Exists(source))
{
if (File.Exists(destination))
File.Delete(destination);
File.Move(source, destination);
}
}
Итак, в коде много вызовов
DoFileMove(src,dst);
Я знаю, что мог бы реализовать это как нестатический метод c, а затем внедрить библиотеку и изменить все вызовы на
myInjectedObject.DoFileMove(src,dst);
, но я чувствую, что этого следует избегать , Я также хотел бы избежать создания оболочек stati c для функций в приложении, которые будут реализовывать внедренный класс, например:
private static void DoFileMove(string source, string destination)
{
myInjectedObject.DoFileMove(source, destination);
}
Есть ли способ динамически загружать во время выполнения группу stati? c функции из библиотеки, которые я мог бы использовать так же, как они вызываются в устаревшем коде?