ATMLCommonLibrary.forms.ATMLSelectionCheckListForm.cmbSelect_SelectedIndexChanged C# (CSharp) 메소드

cmbSelect_SelectedIndexChanged() 개인적인 메소드

private cmbSelect_SelectedIndexChanged ( object sender, EventArgs e ) : void
sender object
e EventArgs
리턴 void
        private void cmbSelect_SelectedIndexChanged(object sender, EventArgs e)
        {
            object selectedItem = cmbSelect.SelectedItem;
            PropertyInfo info = selectedItem.GetType().GetProperty(context.SelectionListClassName);
            if (info == null)
                throw new Exception("Invalid Class Name: " + context.SelectionListClassName);
            object list = info.GetValue(selectedItem, null);
            if (list.GetType().IsGenericType && list is IEnumerable)
            {
                lvCheckList.Items.Clear();
                var enumerable = (IEnumerable) list;
                IEnumerator enumerator = enumerable.GetEnumerator();

                while (enumerator.MoveNext())
                {
                    object obj = enumerator.Current;
                    var lvi = new ListViewItem();
                    lvi.Tag = obj;
                    int i = 0;
                    foreach (string name in columnNames)
                    {
                        PropertyInfo pi = obj.GetType().GetProperty(name);
                        var value = (String) pi.GetValue(obj, null);
                        lvi.SubItems.Add(value);
                    }
                    lvCheckList.Items.Add(lvi);
                }
            }
        }