generics - 在 DAML 中是否可以有一个通用参数来选择,而模板本身不是通用的?
问题描述
在我的模型中,我试图定义一个非泛型模板,该模板具有一个采用泛型参数的选项。我不知道该怎么做。甚至可能吗?如果不是,为什么?
解决方案
这是不可能的,而且是故意的。DAML 的设计原则之一是,当您签署合同时,您确切地知道您同意什么。
想象有一个Transferrable
资产类型类,我发布了一个包含空类型类Stealable
和模板的包PermissionToSteal
:
class (Template a, Transferrable a) => Stealable a where
template PermissionToSteal
with
owner : Party
thief : Party
where
signatory owner, thief
controller thief can
(Stealable a) => Steal : (ContractId a)
with
asset : a
do
transfer asset thief
我也许可以说服您签署这样一份合同,owner
因为您知道没有Stealable
.
但是,如果我现在上传另一个带有instance Stealable Cash
.
推荐阅读
- javascript - [javascript webdriverIO} 从具有多个节点的 Xpath 中随机选择一个
- java - 不同目录中的 Java 类路径
- java - 无法使用带有休眠 3.3.2 的 C3p0 库连接到数据库
- java - 破弹簧安全增加了一个方面
- json - 如何将嵌套的 JSON 数据导入 Postman 的集合运行器?
- mysql - 如何从用户请求(MySQL)检查正在访问(未更新)的表
- c# - 当你对物体的边缘施加力时会发生什么?
- java - 重新启动后缺少意图“附加”值
- uwp - 使用 windows 社区工具包 OneDrive 服务上传文件到 OneDrive 时后台传输错误
- python - Python objects.all 命令未注册?