我正在使用SSH.NET,我想创建"安全模式"在我的Connection
课程中。基本上,它应该存储在一个连接中完成的所有方法,然后执行"执行"如果需要,他们一个接一个。像这样:
Connection conn = new Connection("server", "username", "password");
conn.secureMode(true); //enabling secure mode
conn.changeDirectory("directory");
conn.downloadFile("file");
conn.FlushMethods();
conn.disconnect();
Flush()
后,changeDirectory("directory")
和downloadFile("file")
都应该执行""按此顺序。
所以我应该将这些方法存储在某种数组或队列中,对吧?但是怎么样?然后如何执行它们?
你可以给我任何提示吗?答案 0 :(得分:2)
在内部,您可以将命令列表存储为类中的一系列操作,并且只在您想要" flush"时才运行此列表。命令。
public class Connection
{
private List<Action> _commandList = new List<Action>();
public void ChangeDirectory(string directoryName)
{
_commandList.Add(() =>
{
//Actual code to change directory
});
}
public void FlushMethods()
{
foreach(var command in _commandList)
{
command();
}
_commandList.Clear();
}
}