1 public class AdapterPattern
2 {
3 public interface IPerson
4 {
5 string Name { get; set; }
6 void MetroTravel();
7 }
8
9 public class Person : IPerson
10 {
11 public string Name { get; set; }
12
13 public Person( string name )
14 {
15 Name = name;
16 }
17
18 public void MetroTravel()
19 {
20 Console.WriteLine( "Travel by Metro rail" );
21 }
22 }
23
24 public interface INewPerson
25 {
26 string Name { get; set; }
27 void CarTravel();
28 }
29
30 public class NewPerson : INewPerson
31 {
32 public string Name { get; set; }
33 public NewPerson( string name )
34 {
35 Name = name;
36 }
37
38 public void CarTravel()
39 {
40 Console.WriteLine( "Travel by Car" );
41 }
42 }
43
44 public class PersonAdapter : INewPerson
45 {
46 public IPerson _person;
47 public string Name { get; set; }
48
49 public PersonAdapter( IPerson person )
50 {
51 _person = person;
52 }
53
54 public void CarTravel()
55 {
56 _person.MetroTravel();
57 }
58
59 }
60
61 public static void Main()
62 {
63 Person person = new Person( "Person1" );
64
65 PersonAdapter adapter = new PersonAdapter( person );
66 adapter.CarTravel();
67 //Output : Travel by Metro rail
68
69 Console.ReadLine();
70 }
71 }