Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.36 KB | None | 0 0
  1. using System;
  2.  
  3. public interface IToolKit {
  4.     string[] GetTools();
  5. }
  6.  
  7. public interface IParts {
  8.     string[] GetParts();
  9. }
  10.  
  11. public class IkeaKit<TContents> where TContents : IToolKit, IParts, new() {
  12.     public virtual string Title {
  13.         get; set;
  14.     }
  15.     public virtual string Colour {
  16.         get; set;
  17.     }
  18.     public void GetInventory() {
  19.         var contents = new TContents();
  20.         foreach (string tool in contents.GetTools()) {
  21.             Console.WriteLine("Tool: {0}", tool);
  22.         }
  23.         foreach (string part in contents.GetParts()) {
  24.             Console.WriteLine("Part: {0}", part);
  25.         }
  26.     }
  27. }
  28.  
  29. public class Chair : IToolKit, IParts {
  30.     public string[] GetTools() {
  31.         return new string[] { "Screwdriver", "Allen Key" };
  32.     }
  33.     public string[] GetParts() {
  34.         return new string[] {"leg", "leg", "leg", "seat", "back", "bag of screws" };
  35.     }
  36. }
  37.  
  38. public class Adde : IkeaKit<Chair> {
  39.     public override string Title { get { return "Fnood"; } }
  40.     public override string Colour { get { return "Cyan"; } }
  41. }
  42.  
  43. public class Markus : IkeaKit<Chair> {
  44.     public override string Title { get { return "Snoolma "; } }
  45.     public override string Colour { get { return "Orange"; } }
  46. }
  47.  
  48.  
  49. public class Program
  50. {
  51.     public static void Main()
  52.     {
  53.         var chair = new Markus();
  54.         chair.GetInventory();
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement