public void Add(object key, object value)
        {
            DictionaryChangedEventArgs changedEventArgs = new DictionaryChangedEventArgs(Change.Edit);

            Keys.Add((T1)key);
            Values.Add((T2)value);
            DictionaryChange?.Invoke(this, changedEventArgs);
        }
        public object this[object key] {
            get  {
                int index = Keys.IndexOf((T1)key);
                return(Values[index]);
            }

            set {
                DictionaryChangedEventArgs changedEventArgs = new DictionaryChangedEventArgs(Change.Edit);

                DictionaryChange?.Invoke(this, changedEventArgs);
                int index = Keys.IndexOf((T1)key);
                Values[index] = (T2)value;
            }
        }