public void Complete(SftpResponse response)
{
if (response is SftpStatusResponse)
{
_statusAction(response as SftpStatusResponse);
}
else if (response is SftpAttrsResponse)
{
_attrsAction(response as SftpAttrsResponse);
}
else if (response is SftpDataResponse)
{
_dataAction(response as SftpDataResponse);
}
else if (response is SftpExtendedReplyResponse)
{
_extendedReplyAction(response as SftpExtendedReplyResponse);
}
else if (response is SftpHandleResponse)
{
_handleAction(response as SftpHandleResponse);
}
else if (response is SftpNameResponse)
{
_nameAction(response as SftpNameResponse);
}
else
{
throw new InvalidOperationException(string.Format("Response of type '{0}' is not expected.", response.GetType().Name));
}
}