System.Data.DataColumn.this C# (CSharp) Method

this() private method

This is how data is pushed in and out of the column.
private this ( int record ) : object
record int
return object
        internal object this[int record]
        {
            get
            {
                _table._recordManager.VerifyRecord(record);
                Debug.Assert(null != _storage, "null storage");
                return _storage.Get(record);
            }
            set
            {
                try
                {
                    _table._recordManager.VerifyRecord(record);
                    Debug.Assert(null != _storage, "no storage");
                    Debug.Assert(null != value, "setting null, expecting dbnull");
                    _storage.Set(record, value);
                    Debug.Assert(null != _table, "storage with no DataTable on column");
                }
                catch (Exception e)
                {
                    ExceptionBuilder.TraceExceptionForCapture(e);
                    throw ExceptionBuilder.SetFailed(value, this, DataType, e);
                }

                if (AutoIncrement)
                {
                    if (!_storage.IsNull(record))
                    {
                        AutoInc.SetCurrentAndIncrement(_storage.Get(record));
                    }
                }
                if (Computed)
                {
                    // if and only if it is Expression column, we will cache LastChangedColumn, otherwise DO NOT
                    DataRow dr = GetDataRow(record);
                    if (dr != null)
                    {
                        // at initialization time (datatable.NewRow(), we would fill the storage with default value, but at that time we wont have datarow)
                        dr.LastChangedColumn = this;
                    }
                }
            }
        }