/// <summary>
        /// 获取给定拼音和给定声调的所有同音字。
        /// <para>该操作不考虑拼音字符串参数 <paramref name="pinyin"/> 中的声调部分,而是以使用参数 <paramref name="tone"/> 与拼音字符串中的全拼部分共同组成一个新的拼音来获取其所有同音字。</para>
        /// <para>如果参数 <paramref name="tone"/> 的值为 <see cref="Tone.Undefined"/>,则该方法将返回同全拼情况下所有音调的汉字(相当于方法 <see cref="GetCharsWithNonTone"/>)。</para>
        /// <para>如果传入的字符串不是一个有效的拼音值,则该方法将返回 null。</para>
        /// </summary>
        /// <param name="pinyin"></param>
        /// <param name="tone"></param>
        /// <returns></returns>
        public static ReadOnlyCollection <char> GetChars(string pinyin, Tone tone)
        {
            PinYin p = null;

            if (!PinYin.TryParse(pinyin, false, out p))
            {
                return(null);
            }
            return(p.GetChars(tone));
        }