//using System;
//using System.Collections.Generic;
//using System.ComponentModel;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

//namespace ReiaSanTool.Class
//{
//    public class IniAdapter : CustomTypeDescriptor
//    {
//        private Dictionary<string, Dictionary<string, string>> _data;
//        private PropertyDescriptorCollection _propCache; // キャッシュ用

//        public IniAdapter(Dictionary<string, Dictionary<string, string>> data) => _data = data;

//        public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
//        {
//            // 毎回 new せず、一度作ったリストを使い回すのが PropertyGrid の鉄則です！
//            if (_propCache == null)
//            {
//                var props = _data.SelectMany(sec =>
//                    sec.Value.Select(kv => new IniPropertyDescriptor(sec.Key, kv.Key, sec.Value))
//                ).ToArray();
//                _propCache = new PropertyDescriptorCollection(props);
//            }
//            return _propCache;
//        }

//        public override PropertyDescriptorCollection GetProperties() => GetProperties(null);
//    }
//}
