| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.ComponentModel;
 
- using System.Linq;
 
- using System.Reflection;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- namespace MECF.Framework.Common.CommonData
 
- {
 
-     public class EndPointConfigItem : INotifyPropertyChanged
 
-     {
 
-         public event PropertyChangedEventHandler PropertyChanged;
 
-         public void InvokePropertyChanged(string propertyName)
 
-         {
 
-             if (PropertyChanged != null)
 
-             {
 
-                 PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));
 
-             }
 
-         }
 
-         public void InvokePropertyChanged()
 
-         {
 
-             Type t = this.GetType();
 
-             var ps = t.GetProperties();
 
-             foreach (var p in ps)
 
-             {
 
-                 InvokePropertyChanged(p.Name);
 
-             }
 
-         }
 
-         public string ExposureTime { get; set; }
 
-         public string WaveLengthA { get; set; }
 
-         public string BinningA { get; set; }
 
-         public string WaveLengthB { get; set; }
 
-         public string BinningB { get; set; }
 
-         public string WaveLengthC { get; set; }
 
-         public string BinningC { get; set; }
 
-         public string WaveLengthD { get; set; }
 
-         public string BinningD { get; set; }
 
-         public string Fd { get; set; }
 
-         public string PrefilterTime { get; set; }
 
-         public string PostfilterTime { get; set; }
 
-         public string AlgorithmType { get; set; }
 
-         public string Criteria { get; set; }
 
-         public string DelayTime { get; set; }
 
-         public string ValidationTime { get; set; }
 
-         public string ValidationValue { get; set; }
 
-         public string TimeWindow { get; set; }
 
-         public string MinimalTime { get; set; }
 
-         public string PostponeTime { get; set; }
 
-         public bool Control { get; set; }
 
-         public bool Normalization { get; set; }
 
-         public bool EnablePostponePercent { get; set; }
 
-         public bool EnableCriterialPercent { get; set; }
 
-         public bool EnableEventTrigger { get; set; }
 
-         public bool IsFaultIfNoTrigger { get; set; }
 
-         public string ToValue()
 
-         {
 
-             return
 
-                 $@"ExposureTime={ExposureTime};WaveLengthA={WaveLengthA};BinningA={BinningA};WaveLengthB={WaveLengthB};" +
 
-                 $@"BinningB={BinningB};WaveLengthC={WaveLengthC};BinningC={BinningC};WaveLengthD={WaveLengthD};BinningD={BinningD};Fd={Fd};" +
 
-                 $@"PrefilterTime={PrefilterTime};PostfilterTime={PostfilterTime};AlgorithmType={AlgorithmType};Criteria={Criteria};DelayTime={DelayTime};ValidationTime={ValidationTime};" +
 
-                 $@"ValidationValue={ValidationValue};TimeWindow={TimeWindow};MinimalTime={MinimalTime};PostponeTime={PostponeTime};Control={Control};Normalization={Normalization};" +
 
-                 $@"EnablePostponePercent={EnablePostponePercent};EnableCriterialPercent={EnableCriterialPercent};EnableEventTrigger={EnableEventTrigger};IsFaultIfNoTrigger={IsFaultIfNoTrigger};"
 
- ;
 
-         }
 
-         public void SetValue(string config)
 
-         {
 
-             string[] items = config.Split(';');
 
-             foreach (var item in items)
 
-             {
 
-                 if (string.IsNullOrEmpty(item))
 
-                     continue;
 
-                 string[] pairs = item.Split('=');
 
-                 if (pairs.Length != 2)
 
-                     continue;
 
-                 Parallel.ForEach(this.GetType().GetProperties(),
 
-                     property => {
 
-                         PropertyInfo pi = (PropertyInfo)property;
 
-                         if (pi.Name == pairs[0])
 
-                         {
 
-                             try
 
-                             {
 
-                                 var convertedValue = Convert.ChangeType(pairs[1], pi.PropertyType);
 
-                                 var originValue = Convert.ChangeType(pi.GetValue(this, null), pi.PropertyType);
 
-                                 if (originValue != convertedValue)
 
-                                 {
 
-                                     pi.SetValue(this, convertedValue, null);
 
-                                 }
 
-                             }
 
-                             catch (Exception)
 
-                             {
 
-                             }
 
-                         }
 
-                     });
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |