codecamp

合约类型

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

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

笔记

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

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

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

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

合约不支持任何运算符。

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

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


地址
字节数组
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }