领胜LDS 键盘AOI检测项目
wells.liu
2020-07-03 9c26f405c3de8de9ec391a3a75095169fc8c9f35
src/Bro.Common.Model/Helper/PropertyConvertHelper.cs
@@ -1,5 +1,7 @@
using Bro.Common.Factory;
using Autofac;
using Bro.Common.Factory;
using Bro.Common.Interface;
using Bro.Common.Model;
using Newtonsoft.Json;
using System;
using System.Collections;
@@ -112,7 +114,7 @@
        //    set => hash = value;
        //}
        public abstract Hashtable GetConvertHash();
        public abstract Hashtable GetConvertHash(ITypeDescriptorContext context);
        public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
        {
@@ -121,7 +123,7 @@
        public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            Hash = GetConvertHash();
            Hash = GetConvertHash(context);
            string[] ids = new string[Hash.Values.Count];
            int i = 0;
@@ -182,6 +184,13 @@
                        }
                        return "";
                    }
                    //foreach (DictionaryEntry myDE in Hash)
                    //{
                    //    if (myDE.Key.Equals(v))
                    //        return myDE.Value;
                    //}
                    return null;
                }
            }
            catch (Exception)
@@ -216,7 +225,26 @@
                {
                    return (value as IComplexDisplay).GetDisplayText();
                }
                else
                else if (value is IEnumerable enumList)
                {
                    string display = "";
                    bool iComplexDisplayMatch = false;
                    var enumrator = enumList.GetEnumerator();
                    while (enumrator.MoveNext())
                    {
                        if (enumrator.Current is IComplexDisplay d)
                        {
                            iComplexDisplayMatch = true;
                            display += $"{d.GetDisplayText()} ";
                        }
                    }
                    if (iComplexDisplayMatch)
                    {
                        return display.Trim();
                    }
                }
                {
                    return JsonConvert.SerializeObject(value);
                }
@@ -571,7 +599,7 @@
                }
                form.ShowDialog();
                List<string> returnStrs = tbox.Text.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList();
                List<string> returnStrs = tbox.Text.Split(new char[] { '\r', '\n', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
                switch (typeof(T).Name)
                {
@@ -624,10 +652,10 @@
            return form;
        }
        //protected override object CreateInstance(Type itemType)
        //{
        //    return base.CreateInstance(itemType);
        //}
        protected override object CreateInstance(Type itemType)
        {
            return base.CreateInstance(itemType);
        }
        //protected override object[] GetItems(object editValue)
        //{
@@ -816,7 +844,7 @@
        }
    }
    public class DeviceTypeConverter : StringConverter
    public class DeviceTypeConverter : StringConverter
    {
        public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
        {
@@ -847,7 +875,7 @@
            return new StandardValuesCollection(devices);
        }
    }
    public class DeviceInitialConfigEditor<T> : UITypeEditor where T : class, IInitialConfig
    {
        public override UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context)
@@ -895,7 +923,7 @@
            return base.EditValue(context, provider, value);
        }
    }
    }
    #endregion
}