Cómo implementar deshacer / rehacer de archivos mapeados en una vista de árbol
Pregunta
Puede alguien dar una idea de cómo debería aplicar deshacer / rehacer de corte / copiar / pegar de archivos (directorios, subdirectorios) mapeada en una vista de árbol en C #?
Sería bueno tener algunos ejemplos de código.
Solución
Para una rápida deshacer lineal / rehacer, puede utilizar Memento patrón usando postal de archivo como recuerdo.
Otros consejos
Comando patrón (GOF):
- Poner la lógica de las acciones en clases que implementan común ICommand {Do (); Deshacer ();} interfaz.
- En cada acción del usuario se crea objeto de comando solicitado e inicializar con parámetros de contexto como el nombre de archivo nuevo y viejo.
- No Llamar (), puso objeto en la pila de comandos completados.
- Cada comando se suministra con el contexto, por lo llamando Deshacer () que puede revertir los cambios.
- Considere mover archivos en la carpeta temporal en lugar de mudanzas.
Deshacer / rehacer se implementa típicamente usando el llamado "patrón de comando". Buscar con Google o leer el artículo siguiente:
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow