阅读(2196) (9)

合约类型

2022-05-11 14:20:50 更新

每个合约都定义了自己的类型。您可以将合约隐式转换为它们继承的合约。合同可以显式转换为address类型。

仅当合约类型具有接收或应付回退功能时,才能显式转换类型。转换仍然使用. 如果合约类型没有接收或应付回退功能,则可以使用 . 您可以在有关地址类型的部分中找到更多信息。address payableaddress(x)address payablepayable(address(x))

笔记

address在 0.5.0 版本之前,合约直接派生自地址类型,与和没有区别。address payable

如果您声明一个合约类型 ( ) 的局部变量,您可以调用该合约上的函数。请注意从相同合同类型的某个地方分配它。MyContract c

您还可以实例化合约(这意味着它们是新创建的)。您可以在“新合同” 部分找到更多详细信息。

合约的数据表示与类型的数据表示相同,address 并且此类型也用于ABI中。

合约不支持任何运算符。

合约类型的成员是合约的外部函数,包括任何标记为 的状态变量public。

对于合同C,您可以使用它type(C)来访问 有关合同的类型信息