Delphi接口使用是可传递的吗?

Delphi接口使用是可传递的吗?,delphi,Delphi,假设某个程序A使用某个单元B,而该单元B使用某个单元C: program A; uses B; unit B; interface uses C; A是否也隐式使用C (我不是问最佳实践,而是从编译器/静态分析的角度。)有两种方法来解释这个问题 程序A包括C单元吗 是的 程序A source.dpr文件能看到C单元声明的公共名称吗 否。如果您的意思是A能够访问C,仅仅因为它使用B,那么不。编译,是的。但是您需要在A中显式地使用C。但是你可以自己尝试一下,这是一个非常简单的测试。值得一提的是:

假设某个程序A使用某个单元B,而该单元B使用某个单元C:

program A;
uses B;

unit B;
interface
uses C;
A是否也隐式使用C


(我不是问最佳实践,而是从编译器/静态分析的角度。)

有两种方法来解释这个问题

  • 程序A包括C单元吗
  • 是的

  • 程序A source.dpr文件能看到C单元声明的公共名称吗

  • 否。

    如果您的意思是
    A
    能够访问
    C
    ,仅仅因为它使用
    B
    ,那么不。编译,是的。但是您需要在
    A
    中显式地
    使用
    C
    。但是你可以自己尝试一下,这是一个非常简单的测试。值得一提的是:Pascal的
    接口
    实现
    部分与C的
    .h
    -和
    .C
    -文件之间存在一些松散的关系,但是Pascal的
    uses
    -子句看起来比C的相当粗糙的
    #include
    预处理器指令温和得多。