CaSharpServer.CARecord.this C# (CSharp) Метод

this() публичный Метод

public this ( string key ) : object
key string
Результат object
        public object this[string key]
        {
            get
            {
                lock (lockProps)
                {
                    PopulateProperties();
                    if (!knownProps.ContainsKey(key.ToUpper()))
                        return null;
                    return knownProps[key.ToUpper()].GetValue(this, null);
                }
            }
            set
            {
                lock (lockProps)
                {
                    PopulateProperties();
                    if (!knownProps.ContainsKey(key.ToUpper()))
                        return;

                    if (PropertySet != null)
                    {
                        PropertyDelegateEventArgs arg = new PropertyDelegateEventArgs { Property = key.ToUpper(), OldValue = this[key.ToUpper()], NewValue = value, CancelEvent = false };
                        PropertySet(this,arg );
                        if (arg.CancelEvent == true)
                        {
                            IsDirty = true;
                            return;
                        }
                    }

                    if (knownProps[key.ToUpper()].PropertyType.IsArray)
                    {
                        int nb = Math.Min(((Array)knownProps[key.ToUpper()].GetValue(this, null)).Length, ((Array)value).Length);
                        for (int i = 0; i < nb; i++)
                            SetArrayValue(key, i, value);
                        /*for (int i = 0; i < nb; i++)
                            knownProps[key.ToUpper()].SetValue(this, value, new object[] { i });*/
                    }
                    else
                        knownProps[key.ToUpper()].SetValue(this, value, null);
                }
            }
        }