如何在c#中创建包含多个属性的包装器

时间:2012-06-12 11:49:29

标签: 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<>更好吗? 任何人都可以建议我回答吗?

1 个答案:

答案 0 :(得分:0)

从我所看到的情况来看,它不会存储有关Dependencies个对象的任何信息。在prepareIssuesList中创建它们之后,它们会超出范围,然后垃圾收集器将处理它们。

您需要在某处保留对它们的引用以保留该信息。也许prepareIssuesList应该返回它创建的Dependencies对象,以及调用该方法可以存储对象的任何内容?

顺便说一下,上面的代码不会编译 - 对prepareIssuesList的调用是在类体内进行的,编译器认为它是一个方法声明。此外,您的班级名为Dependencies,但似乎描述了一个项目,因此Dependency可能是一个更好的名字?

相关问题