Запись в 2+ текстовых файла одновременно в C # - PullRequest
0 голосов
/ 15 ноября 2011

Я пытаюсь записать в два файла одновременно, используя C #. Расположение вторичных папок постоянно меняется, и мне может потребоваться записать выходные данные в три или более папок одновременно. Каков наилучший способ сделать это?

В настоящее время у меня есть функция Output(string s), которая использует StreamWriter для записи в определенное статическое местоположение. Я думаю, что мог бы добавить функцию syncFolder(string[] folderPaths) в конце Output, которая обновляла бы содержимое (папки и текстовые файлы) папки 2,3,4, ..., чтобы она выглядела точно так же, как в папке 1.

Это лучший способ сделать это? Если да, то как мне синхронизировать папки?

1 Ответ

0 голосов
/ 15 ноября 2011

Вы можете использовать подход, подобный различным библиотекам трассировки и ведения журналов, где у вас есть классы источников данных, классы приемников данных и связать их вместе с третьим набором классов конфигурации / макета / рендерера.

Вреляционные термины, это позволило бы установить связь «многие ко многим».

Для этого работали бы потоковые читатели и писатели, но я считаю, что они предназначены для соединения 1-к-1.

Шаблон проектирования, который вы хотели бы изучить, - это Шаблон наблюдателя .В C # это реализовано с событиями.Возможно, это не самое быстрое решение в мире (из-за вызовов делегатов при каждом вызове источника), но оно, безусловно, будет наиболее гибким.Он также должен быть адаптирован к асинхронному сливу.

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