public class Addressable{
public String Address {get; set;}
public String Message {get; set;}
public class Person:Addressable{
public Person (String email, String name){
public class TextMessage:Sendable{
public TextMessage(String message){
public Addressable recipient;
public Addressable sender;
public Email (Addressable recipient, Addressable sender, Sendable message){
this.recipient = recipient;
Console.WriteLine("Sending Email");
Console.WriteLine("[FROM: {0}]",sender.Address);
Console.WriteLine("[TO: {0}]",recipient.Address);
Console.WriteLine("[MESSAGE: {0}]",message.Message);
public static void Main()
Person Alice = new Person("alice@email.com", "Alice");
Person Bob = new Person("bob@email.com", "Bob");
TextMessage message = new TextMessage("Pedido de Informações");
Email email = new Email(Alice,Bob,message);