C# stati c функционирует в нескольких приложениях - PullRequest
1 голос
/ 23 апреля 2020

У меня есть куча статических 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 функции из библиотеки, которые я мог бы использовать так же, как они вызываются в устаревшем коде?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...