Converters/GenericTypeConverter.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using Micro.Ui.RunningTextStyle.Extensions;

namespace Micro.Ui.RunningTextStyle.Converters
{
    /// <summary>
    /// 通用类型转换器
    /// </summary>
    public sealed class GenericTypeConverter : IValueConverter
    {
        /// <summary>
        /// 正向键值对字典
        /// </summary>
        private Dictionary<String, String> Alias { get; set; }

        /// <summary>
        /// 反向键值对字典
        /// </summary>
        private Dictionary<String, String> BackAlias { get; set; }

        private String aliasStrTemp;

        /// <summary>
        /// 解析转换规则
        /// </summary>
        /// <param name="aliasStr">规则字符串</param>
        private void ParseAliasByStr(String aliasStr)
        {
            if (aliasStrTemp == aliasStr)
            {
                //避免再次解析
                return;
            }

            aliasStrTemp = aliasStr;

            Alias = new Dictionary<String, String>();
            BackAlias = new Dictionary<String, String>();

            String[] items = aliasStr.Split(new Char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (String item in items)
            {
                var kv = item.Split(new Char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);

                if (kv.Length != 2)
                    continue;

                var key = kv[0];
                var value = kv[1];

                if (!String.Equals(key, "other", StringComparison.Ordinal))
                {
                    if (!BackAlias.ContainsKey(value))
                        BackAlias.Add(value, key);
后面还有 44 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。