using System;
public sealed class ForeignExchange {
public string UStoUK() {
return "USD to GBP is...";
}
public string UStoCAN() {
return "USD to CND is...";
}
public ForeignExchange() { ;}
}
public class AdapterWrapper {
private Adapter adapt;
public string AdapterWrapper_USD_GBP() {
return this.adapt.USD_GBP();
}
public string AdapterWrapper_USD_CND() {
return this.adapt.USD_CND();
}
public string AdapterWrapper_USD_AUD() {
return this.adapt.USD_AUD();
}
public AdapterWrapper() {
adapt = new Adapter();
}
}
public class Adapter {
private ForeignExchange sourceCode;
public string USD_GBP() {
return "Conversion " + this.sourceCode.UStoUK();
}
public string USD_CND() {
return "Conversion " + this.sourceCode.UStoCAN();
}
public string USD_AUD() {
return "Conversion USD to AUD is...";
}
public string USD_JPY() {
return "Conversion USD to JNY is...";
}
public Adapter() {
sourceCode = new ForeignExchange();
}
}
public class Client {
static void Main(string[] args) {
AdapterWrapper afx = new AdapterWrapper();
Console.WriteLine(afx.AdapterWrapper_USD_GBP());
Console.WriteLine(afx.AdapterWrapper_USD_CND());
Console.WriteLine(afx.AdapterWrapper_USD_AUD());
}
}