Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Program
- {
- static void Main(string[] args)
- {
- TeamBuilder teamBuilder = new TeamBuilder();
- Team team = teamBuilder.CreateTeam("India")
- .WithJerseyColor(JerseyColor.Blue)
- .FromTown("India");
- }
- }
- public enum JerseyColor
- {
- White,
- Red,
- Green,
- Blue
- }
- public class Team
- {
- public string Name { get; set; }
- public JerseyColor JerseyColor { get; set; }
- public string HomeTown { get; set; }
- public Team(string name, JerseyColor jerseyColor, string homeTown)
- {
- Name = name;
- JerseyColor = jerseyColor;
- HomeTown = homeTown;
- }
- }
- public class TeamBuilder
- {
- string _name { get; set; }
- JerseyColor _jerseyColor { get; set; }
- string _homeTown { get; set; }
- public TeamBuilder CreateTeam(string name)
- {
- _name = name;
- return this;
- }
- public TeamBuilder WithJerseyColor(JerseyColor jerseyColor)
- {
- _jerseyColor = jerseyColor;
- return this;
- }
- public TeamBuilder FromTown(string homeTown)
- {
- _homeTown = homeTown;
- return this;
- }
- //IMPLICIT CONVERSION OPERATOR
- public static implicit operator Team(TeamBuilder tb)
- {
- return new Team(tb._name, tb._jerseyColor, tb._homeTown);
- }
- }
Add Comment
Please, Sign In to add comment