public Character GetCharacter(char key) { //Uses lazy inizialization Character character = null; if (characters.ContainsKey(key)) { character = characters[key]; } else { switch (key) { case 'A': character = new CharacterA(); break; case 'B': character = new CharacterB(); break; case 'Z': character = new CharacterZ(); break; } characters[key] = character; } return(character); }
public Character GetCharacter(char key) { // Uses "lazy initialization" Character character = null; if (_characters.ContainsKey(key)) { character = _characters[key]; } else { switch (key) { case 'A': character = new CharacterA(); break; case 'B': character = new CharacterB(); break; //... case 'Z': character = new CharacterZ(); break; } _characters.Add(key, character); } return(character); }