AsmResolver.TablesControl.dataGridView_CellEndEdit C# (CSharp) Метод

dataGridView_CellEndEdit() приватный Метод

private dataGridView_CellEndEdit ( object sender, System.Windows.Forms.DataGridViewCellEventArgs e ) : void
sender object
e System.Windows.Forms.DataGridViewCellEventArgs
Результат void
        void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                ValueType[] parts = new ValueType[dataGridView.Rows.Count];
                for (int i = 0; i < dataGridView.Rows.Count; i++)
                {
                    DataGridViewRow row = dataGridView.Rows[i];

                    switch (row.Cells[2].Value.ToString())
                    {
                        case "Byte": parts[i] = byte.Parse(row.Cells[1].Value.ToString(), System.Globalization.NumberStyles.AllowHexSpecifier); break;
                        case "UInt16": parts[i] = ushort.Parse(row.Cells[1].Value.ToString(), System.Globalization.NumberStyles.AllowHexSpecifier); break;
                        case "UInt32": parts[i] = uint.Parse(row.Cells[1].Value.ToString(), System.Globalization.NumberStyles.AllowHexSpecifier); break;
                        case "UInt64": parts[i] = ulong.Parse(row.Cells[1].Value.ToString(), System.Globalization.NumberStyles.AllowHexSpecifier); break;
                    }
                }

                MetaDataRow newrow = new MetaDataRow(currentMember.MetaDataRow.Offset, parts);
                currentMember.MetaDataRow = newrow;
                currentMember.ClearCache();
                currentMember.ApplyChanges();
                propertyGrid.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show("An error occured. " + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }