Guest User

Untitled

a guest
May 27th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. TeamBuilder teamBuilder = new TeamBuilder();
  6.  
  7. Team team = teamBuilder.CreateTeam("India")
  8. .WithJerseyColor(JerseyColor.Blue)
  9. .FromTown("India");
  10. }
  11. }
  12.  
  13. public enum JerseyColor
  14. {
  15. White,
  16. Red,
  17. Green,
  18. Blue
  19. }
  20.  
  21. public class Team
  22. {
  23. public string Name { get; set; }
  24. public JerseyColor JerseyColor { get; set; }
  25. public string HomeTown { get; set; }
  26.  
  27. public Team(string name, JerseyColor jerseyColor, string homeTown)
  28. {
  29. Name = name;
  30. JerseyColor = jerseyColor;
  31. HomeTown = homeTown;
  32. }
  33. }
  34.  
  35. public class TeamBuilder
  36. {
  37. string _name { get; set; }
  38. JerseyColor _jerseyColor { get; set; }
  39. string _homeTown { get; set; }
  40.  
  41. public TeamBuilder CreateTeam(string name)
  42. {
  43. _name = name;
  44. return this;
  45. }
  46.  
  47. public TeamBuilder WithJerseyColor(JerseyColor jerseyColor)
  48. {
  49. _jerseyColor = jerseyColor;
  50. return this;
  51. }
  52.  
  53. public TeamBuilder FromTown(string homeTown)
  54. {
  55. _homeTown = homeTown;
  56. return this;
  57. }
  58.  
  59. //IMPLICIT CONVERSION OPERATOR
  60. public static implicit operator Team(TeamBuilder tb)
  61. {
  62. return new Team(tb._name, tb._jerseyColor, tb._homeTown);
  63. }
  64. }
Add Comment
Please, Sign In to add comment