コード例 #1
0
        public static string SerializaName(JsonFormatting jsonFormatting, string name)
        {
            var key = jsonFormatting.ToString() + name;

            if (_chachedNames.ContainsKey(key))
            {
                return(_chachedNames[key]);
            }
            string value = null;

            lock (_chachedNames)
            {
                switch (jsonFormatting)
                {
                case JsonFormatting.Auto:
                    value = name;
                    break;

                case JsonFormatting.CamelCase:
                    var s = name.Substring(1, name.Length - 1);
                    value = $"{name[0].ToString().ToLower()}{s}";
                    break;

                case JsonFormatting.LowerCase:
                    value = name.ToLower();
                    break;
                }
                return(_chachedNames.GetOrAdd(key, value));
            }
        }