2012-06-12 2 views
0

Я хочу, чтобы оболочка была классом или любым типом списка, чтобы сохранить несколько свойств. Я хочу сохранить значения этих свойств и получить их позже. Я создал класс и выполняю некоторые операции, как показано ниже.Как создать обертку, состоящую из нескольких свойств в C#

 internal class Dependencies 
    { 
     public string issueID; 
     public int dependencyCheck; 
     public string jirastatus; 

     public Dependencies() 
     { 
      this.issueID = string.Empty; 
      this.dependencyCheck = 0; 
      this.jirastatus = string.Empty; 
     } 
//Calling this function. 
preapreIssuesList(IssueKey, JIRAtoken); 

private static void preapreIssuesList(string IssueKey,string JIRAtoken) 
     { 
      Dependencies dependeant = new Dependencies(); 
      if (!dependeant.issueID.Contains(IssueKey)) 
      { 
       dependeant.issueID = IssueKey; 
       JiraSoapServiceService jira = new JiraSoapServiceService(); 
       RemoteIssue ri = jira.getIssue(JIRAtoken, (IssueKey).ToString()); 
       dependeant.jirastatus = Enum.GetName(typeof(GetChangesets.JIRAOperations.JIRAStatus), Convert.ToInt32(ri.status)); 
       dependeant.dependencyCheck = 0; 
      } 
      else if (dependeant.issueID.Contains(IssueKey)) 
      { 
       dependeant.dependencyCheck = 1; 
      } 

     } 

Если мне это нравится, будут ли сохранены сохраненные значения? Или лучше взять Dependencies из List<> типа? Может ли кто-нибудь предложить мне ответить?

+0

Зачем -1 что-то не так в этом ... странно .. :) – Searcher

ответ

0

Из того, что я вижу, он не будет хранить информацию о ваших объектах Dependencies. После того, как они создаются в prepareIssuesList, они выходят за рамки, а затем сборщик мусора будет их уничтожать.

Вам необходимо оставить ссылку на них где-нибудь, чтобы сохранить эту информацию. Возможно, prepareIssuesList должен вернуть объект Dependencies, который он создает, и все, что вызывает этот метод, может хранить объект?

Как в стороне, ваш код выше не будет компилироваться - вызов prepareIssuesList сделан внутри тела класса, и компилятор считает, что это объявление метода. Кроме того, ваш класс называется Dependencies, но, кажется, описывает один элемент, так что, может быть, Dependency - лучшее имя?

+0

Спасибо за информацию ... Я не могу получить то, что вы говорите точно. Я не знаю много C#, можете ли вы предоставить мне решение для вышеуказанного кода? – Searcher

+0

Ну, мне понадобится немного больше информации - какое приложение вы создаете, и что это такое? –

+0

Создание приложения для Windows. Я хочу сохранить три свойства как errorid как string, dependency_check как int, статус как string. – Searcher

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