在 R 中,如何在我的 class 定义中引用另一个包中的 S4 class?

In R, how can I reference an S4 class from another package in my class definition?

假设我有两个包 PackageAPackageB。我在 PackageA 中有一个 S4 class、ClassA,我想将其用作 PackageBClassB 的基础 class:

setClass(
    "ClassB", 
    slots = c(), 
    validity = function(object) {

        T
    }
    contains = "ClassA")

但是,当我构建时出现错误:

no definition found for superclass "ClassA"

我已尝试使用 devtools 添加对 PackageA 的引用:

devtools::use_package("PackageA")

也许我需要使用 roxygen 指令?

原来 ClassA 没有正确导入。添加正确的 roxygen 指令解决了问题:

#' @import PackageA
setClass(
    "ClassB", 
    slots = c(), 
    validity = function(object) {

        T
    }
    contains = "ClassA")