示例#1
0
        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);
        }