internal static object ReadyFile(this FileTransferOption option, string path) { switch (option) { case FileTransferOption.BINARY: return(File.ReadAllBytes(path)); case FileTransferOption.LINES: return(File.ReadAllLines(path)); case FileTransferOption.TEXT: return(File.ReadAllText(path)); } //default is binary, works for pretty much everything anyway return(ReadyFile(FileTransferOption.BINARY, path)); }
/// <summary> /// Constructs a new file packet /// Filepath is the local path of the file to transfer /// </summary> public FilePacket(sbyte header, byte id, byte specifier, string filePath, FileTransferOption transferOption) : base(header, id, specifier, transferOption.ReadyFile(filePath)) => TransferOption = transferOption;