
回复
使用ArkTS定义接口类,在编写接口实现类时,是无法声明默认实现的,这样无论接口类中的函数是否需要用到,都需要在实现类中进行实现,造成大量的冗余代码,降低代码的可读性。下面我将讲述一下我对此问题的解决思路。
1、为了解决上述问题,我想到了将接口类中的函数声明为可空类型,如下所示
2、定义接口实现类,在这里我只实现了closeWindow函数,因为onHeightChanged函数没有用到,所以此处没有实现
3、通过上面的方式,我们解决了接口实现类冗余代码的问题,下面我们通过this.loadCallback?.closeWindow()的方式进行调用,会发现如下报错“Cannot invoke an object which is possibly 'undefined'. <ArkTSCheck>”。
4、通过直接调用函数的方式行不通,那么就换个思路,通过反射的方式进行调用,反射类的方法如下
5、使用反射来进行调用
这样我们就实现了ArkTS通过反射调用函数的实际应用。
转载自写文章-CSDN创作中心