如何从堆栈深处的方法将数据存储在包装器 class 中?

How do I store data in a wrapper class from a method deep in the stack?

我有一个 class (XMLBuilder) 可以构建 xml 文档。在此过程中,我解析了一些数据以使其适合 xml 模型。我想捕获与解析相关的数据。所以我有一个包装器 class (XMLBuilderWrapper) 旨在捕获已解析的数据。

我的问题是:如何从解析器访问包装器 class(反之亦然)以存储数据?如果可以的话,我不想 return 通过堆栈备份这些数据。

我假设您正在使用某种形式的递归。您可以将包装器的引用作为参数传递。您不必 return 任何东西。只需在构建器的第一次调用之前实例化包装器并将引用作为参数传递。您对包装器所做的所有更改都将发生在同一个对象上,无论您在堆栈中有多深。

此外,如果我没有理解错的话,您的包装器 class 并不完全是包装器。它更像是一个模型。