2017-01-24 9 views
0

Я удаляю вещи из списка или выпадающего списка. У меня есть две функции для этого, которые являются одинаковыми ....Передача списка и combox как один аргумент

public static void removeFromListBox(ListBox ListToRmvthings)//remove items from a Listbox general purpose 
    { 
     int NumberOfIdx = ListToRmvthings.Items.Count; 
     if (NumberOfIdx > 0) 
     { 
      for (int inc = NumberOfIdx - 1; inc >= 0; --inc) 
      { 
       ListToRmvthings.Items.RemoveAt(inc); 
      } 
     } 
    } 
    public static void removeFromComboBox(ComboBox ComboToRmvthings)//remove items from a Combobox general purpose 
    { 
     int NumberOfIdx = ComboToRmvthings.Items.Count; 
     if (NumberOfIdx > 0) 
     { 
      for (int inc = NumberOfIdx - 1; inc >= 0; --inc) 
      { 
       ComboToRmvthings.Items.RemoveAt(inc); 
      } 
     } 
    } 

Как я могу сделать только одну функцию ... причину, если я стараюсь передать объект это Безразлично^т признать items.count ... .

Большое спасибо!

ответ

1

Они оба происходят от ListControl. Но, как заметил кто-то, свойство Items не находится в этом базовом классе - оба элемента управления имеют свое собственное свойство Items и их собственные типы для их представления.

Так что, кажется, нет лучшего способа, чем предоставить два метода. Способы просты, поэтому попытка приспособиться к двум типам путем тестирования типа и принуждения будет только усложнять ситуацию.

+0

Документация [ListControl] (https://msdn.microsoft.com/en-us/library/system.windows.forms.listcontrol (v = vs.110) .aspx), похоже, не имеет свойство 'Items'. – Kilazur

 Смежные вопросы

  • Нет связанных вопросов^_^