2013-11-18 3 views
0

У меня есть методы, возвращающие значение/s в основной класс. Теперь, как я могу заполнить comboBox в основном классе с использованием возвращаемого значения?Как заполнить comboBox с возвращаемым значением?

public string MapWorkspace(string path) 
{ 
    try 
    { 
     versionControl = tpc.GetService<VersionControlServer>(); 
     Workspace[] retVal = versionControl.QueryWorkspaces(null, "username", "computername"); 
     foreach (Workspace w in retVal) 
     { 
      return w.Name; 
     } 
     //var workspace = versionControl.GetWorkspace(path); 
    } 
    catch (Exception exception) 
    { 
     Log.Write("Failed to map workspace! Exeption: " + exception.ToString()); 
    } 
    return null; 
} 

public MainForm() 
{ 
      tfs.MapWorkspace(path); 
} 
+0

возвращение 'IEnumerable ' цикл через него и заполнить –

ответ

1

Я предполагаю, что вы хотите вернуть более 1 значение, поэтому в этом случае, если вы хотите, тип возврата IEnumerable<T>

public IEnumerable<string> MapWorkspace(string path) 
{ 
    try 
    { 
     versionControl = tpc.GetService<VersionControlServer>(); 
     Workspace[] retVal = versionControl.QueryWorkspaces(null, "username", "computername"); 
     foreach (Workspace w in retVal) 
     { 
      yield return w.Name; 
     } 
     //var workspace = versionControl.GetWorkspace(path); 
    } 
    catch (Exception exception) 
    { 
     Log.Write("Failed to map workspace! Exeption: " + exception.ToString()); 
    } 
    return null; 
} 

и в зависимости от вашей UI рамки вы можете заполнить ваш ComboBox используя тот же метод

Winforms:

foreach(var item in MapWorkspace("mypath")) 
{ 
    combobox1.Items.Add(item); 
} 

Wpf:

MyItems = new ObservableCollection<string>(MapWorkspace("mypath")); 

где MyItems коллекция связан с комбобоксом

+0

я попробовал свое решение, он прекрасно работает с населяющим comboBox, спасибо. Но кажется, что мой versionControl становится null, когда я использую его в другом методе, который отображает выбранную рабочую область. Имя из comboBox. – NullReferenceException

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