static void Main(string[] args) { Document doc = new Document("Hello! This is Document"); IStorable isDoc = doc as IStorable; if (isDoc != null) { isDoc.Read(); } else { Console.WriteLine("IStorable not support"); } ICompressible icDoc = doc as ICompressible; if (icDoc != null) { icDoc.Compress(); } else { Console.WriteLine("ICompressible not support"); } ILoggedCompressible ilcDoc = doc as ILoggedCompressible; if (ilcDoc != null) { ilcDoc.LogSavedByte(); ilcDoc.Compress(); } else { Console.WriteLine("ILoggedCompressible not support"); } IStorableCompressible iscDoc = doc as IStorableCompressible; if (iscDoc != null) { iscDoc.LogSavedByte(); iscDoc.LogOriginalSize(); iscDoc.Compress(); iscDoc.Read(); } else { Console.WriteLine("IStorableCompressible not support"); } IEncryptable ieDoc = doc as IEncryptable; if (ieDoc != null) { ieDoc.Encrypt(); } else { Console.WriteLine("Encrypt not support"); } Console.ReadLine(); }