0

複数のプロパティを保持するために、クラスであろうとリスト型であろうと、ラッパーが必要です。これらのプロパティの値を保存し、後で取得したいと考えています。クラスを作成し、以下のようにいくつかの操作を行いました。

     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<>か?誰かが私に答えることを提案できますか?

4

1 に答える 1

0

私が見る限り、Dependenciesオブジェクトに関する情報は保存されません。それらは で作成された後prepareIssuesList、スコープ外になり、ガベージ コレクターによって破棄されます。

その情報を保持するには、それらへの参照をどこかに保持する必要があります。おそらく、それが作成prepareIssuesListしたオブジェクトを返す必要がDependenciesあり、そのメソッドを呼び出しているものは何でもオブジェクトを格納できますか?

余談ですが、上記のコードはコンパイルされません。呼び出しprepareIssuesListはクラス本体内で行われ、コンパイラはそれをメソッド宣言と見なします。また、あなたのクラスは呼び出されていますDependenciesが、単一のアイテムを説明しているように見えるのでDependency、もっと良い名前になるでしょうか?

于 2012-06-12T12:06:38.833 に答える