//abstract the types of Ftp behind the interface: public string ComputeFtp(IFtpType ftp) { return(ftp.RunFtp(hostIP, port, user, pass, remoteDirectory, remoteFilePattern, localFileDirectory, pharmacyName, localFileName, numDaysGoback, ram, ref tblExcel)); }