小编The*_*ger的帖子

参数约束以实现两个接口

我想了解Abap-的一些运作OO

在C#中,可以通过泛型中的约束将类型限制为任何类型,但至少符合某些(多个)接口,方法是:

where T : IAmInterfaceA, IAmInterfaceB
Run Code Online (Sandbox Code Playgroud)

是否可以在abap-oo中将其存档?我想将任何对象作为参数传递给符合两个接口的方法。


例如,我想拥有这两个接口:

  • 利伐利特
  • 可保存

我不想有一个额外的接口,将这两个分别提供的方法结合在一起。

例如,可能有一个经理类想要保存对象,但仅当对象有效时:

Manager.Save(/* <object that conforms to both interfaces IValidate and ISaveable> */ );
Run Code Online (Sandbox Code Playgroud)

因此,如果我有一个简单的类SimpleData : IValidate, ISaveable,可以将该类的对象传递给方法,但是ISaveable不能传递仅实现该类的另一个对象。

在C#中,我只是将save方法定义为通用方法:

static bool Save<T>(T dataObject) where T : IValidate, ISaveable { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

如果可能,如何在abap-oo中执行此操作?

c# generics abap

5
推荐指数
1
解决办法
375
查看次数

标签 统计

abap ×1

c# ×1

generics ×1