首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态值与传递参数

静态值与传递参数
EN

Stack Overflow用户
提问于 2012-06-07 10:00:59
回答 3查看 617关注 0票数 2

我有一种情况,我必须在类中上下传递2-3个独立的类的List<>。现在,我主要是使用参数来传递列表,这样3个类都可以获得列表。我是否应该使用静态列表而不是在所有类中传递列表来简化代码,如Class23.ListObjects.Add(),然后在操作完成后释放静态值,以便下一个操作从一个空列表开始。现在感觉参数变得很多,我对列表是否有正确的值感到困惑,忘记将列表传递给下一个类,等等。你觉得呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-07 10:08:11

我建议您创建一个新类来表示由各种类执行的组合操作(如果您愿意,可以将其称为“上下文”类)。执行操作所需的值可以作为实例变量保存在该上下文中,以及执行工作时使用的类的实例。

这样,您就避免了到处传递东西(随着代码的发展,这可能会变得有些丑陋),同时也避免了“全局”变量。数据恰好在它需要的作用域中,并且在整个操作完成时被处理。

票数 4
EN

Stack Overflow用户

发布于 2012-06-07 10:03:03

在编码实践中,拥有静态或全局变量是不好的,通过参数传递被认为是好的。

票数 1
EN

Stack Overflow用户

发布于 2012-06-07 10:08:20

如果使用静态参数,则在代码中的多个位置使用这些函数时,特别是在涉及线程的情况下,您将面临获取损坏数据的风险。

例如,假设A类需要使用作用于静态列表的函数。在这些函数完成之前,B类也会尝试使用它们,导致列表从两个调用中获取数据,因为在两种情况下都使用相同的静态列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10924708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档