问题标签 [circular-reference]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
8867 浏览

c# - 两个 .net 程序集之间的循环引用

我有两个程序集 A 和 B。

A 具有对 B 的现有引用,并且必须保持这种方式。现在我对需要引用 A 的 B 进行了一些更改。因此发生了循环引用。

一点细节:

A 有一些属性网格,需要托管 B 中的对话框。因此,为了避免这种循环引用问题,我尝试在 A 和 B 都引用的第三个程序集中定义网格接口,并使 B 仅引用接口。

我面临的两个问题:

  1. 在 A 中定义的网格中有太多的自定义数据类型(具体的属性),我必须为它们中的每一个定义接口。

  2. 我看到这个例子与函数参数一起工作,例如通过传入的接口调用目标函数。但是考虑到下面的代码,它如何适合 - 我不能新建一个 ICustomPropertyGridWrapper ...

    object = new CustomPropertyGridWrapper(...)
    m_property.SelectedObject = object;

0 投票
3 回答
835 浏览

haskell - 学习 Haskell:看似循环的程序 - 请帮助解释

我目前正在阅读 Doets 和 Van Eijck 所著的《通往逻辑、数学和编程的 Haskell 之路》一书。在这本书之前,我从未接触过任何函数式编程语言,所以请记住这一点。

在本书的早期,它给出了以下素数测试代码:

ldp 调用 primes1,调用 prime,再调用 ldp,这似乎是一个循环编程。虽然这本书确实提供了这个作为程序执行和终止原因的解释:

ldp 调用 primes1,即素数列表。这是“惰性列表”的第一个示例。该列表称为“惰性”列表,因为我们只计算列表中需要进一步处理的部分。要定义 primes1,我们需要对素数进行测试,但该测试本身是根据函数 LD 定义的,该函数又引用 primes1。我们似乎在绕圈子跑。通过避免 2 的素数测试,可以使这个循环变得非恶性。如果给定 2 是素数,那么我们可以在 LD 中使用 2 的素数来检查 3 是否为素数,依此类推,我们就成功了并运行

虽然我认为我理解这个解释,但如果有人能用外行的话解释一下,我将不胜感激:

  1. 什么是“惰性列表”以及它在这种情况下如何应用?
  2. 知道 2 是素数如何使程序不具有恶意?

非常感谢任何答案。

0 投票
4 回答
649 浏览

visual-studio - 循环引用有必要吗?

我继承了一个 Visual Studio 解决方案,其中包含项目之间的大量循环引用。

有没有一种情况可以远程接受?

只是想证实我怀疑这个应用程序设计得很糟糕。提前致谢。

0 投票
2 回答
1843 浏览

clojure - 是否可以在 Clojure 中创建循环引用?

忽略本机互操作和瞬态,是否可以在 Clojure 中创建包含直接循环引用的任何数据结构?

看起来不可变的数据结构只能包含对自身先前版本的引用。是否有任何 Clojure API 可以创建引用自身的新数据结构?

Scheme 有 letrec 形式,它允许创建相互递归的结构——但是,据我所知,Clojure 没有任何类似的东西。

这个问题与将 Clojure 移植到 iOS 有关——它没有垃圾收集,但有引用计数。

0 投票
4 回答
18610 浏览

.net - 如何处理循环引用?

如果我有这两个项目:

计费向财务部门询问/发送信息,反之亦然。两者都太大了,所以我不想把它们放在一个项目中。Visual Studio 不允许循环引用。你会怎么处理呢?

0 投票
2 回答
2035 浏览

.net - 在不引入新项目的情况下解决循环引用

我有又大又胖又丑陋的遗留程序。我必须完成的一项任务是向项目 A添加一个新类。项目 B引用项目 A,但我需要添加的功能取决于项目 B中的类的方法。当然,我不能从A引用项目 B,因为这会创建一个循环引用。在类似的情况下,我的方法是创建项目 C并将依赖项从AB移入其中,并让AB都引用它。

但是,对于这个特定的任务,它需要移动如此多的代码,以至于会在解决方案中造成巨大的混乱。

现在,我正在传递封装在 an 中的所需类的实例,object并使用反射来访问我在运行时需要的方法。

有没有其他(更好的)方法可以在不将代码移动到项目 C 的情况下解决这个问题?

0 投票
4 回答
1695 浏览

ms-access - 数据库设计中的循环引用——应该避免吗?

我目前正在通过 MS Access 2003 开发数据库,​​但遇到了循环引用问题。基本上,它归结为以下关系三角形(它是我的关系表的简化形式):

其中 Positions、Employees 和 Software 是表格,并"oo-------...-------oo"显示它们之间的多对多关系。

简而言之,公司中的所有员工都被分配到特定的职位(其中一些被分配到多个职位),并且有权根据他们的职位使用特定的软件。但是,也有例外,除了根据他们的职位允许他们使用的软件包之外,一些员工还被授予使用少数其他软件包的权限。

问题是,在这种数据库中允许循环关系可以吗?是否有任何不需要非规范化的解决方法?

在此先感谢,VS。

0 投票
1 回答
398 浏览

c++ - 是否有任何静态分析工具可以帮助检测 shared_ptr<> 循环引用?

是否有任何静态分析工具可以帮助检测 shared_ptr<> 循环引用?

即使这样的工具无法检测到复杂的情况,它仍然可以用于消除简单的情况。

0 投票
2 回答
5191 浏览

python - 在 MongoEngine 中实现双向关系

我正在构建一个使用 MongoDB 和 MongoEngine 来存储数据的 Django 应用程序。为了呈现我的问题的简化版本,假设我想要两个类:用户和页面。每个页面都应该与一个用户相关联,每个用户一个页面。

(请注意,必须在 User 之前定义 Page。如果我缺少处理循环依赖项的 Pythonic 方式,请告诉我。)可以很好地创建和保存每个文档,但是将 Page 分配给 User 会引发错误。

谁能解释为什么抛出这个异常,我做错了什么,以及如何避免它?

0 投票
1 回答
1202 浏览

jquery - 如何在 jCoverFlip 插件 jQuery 中制作画廊圆形?

我在我的网站中使用 jCoverFlip (http://www.jcoverflip.com/) 插件作为画廊。我想做的,就是把这个画廊做成圆形。有谁知道我该怎么做?

谢谢