HarmonyOS 是否支持匿名类,匿名类如何写

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

ArkTS不支持匿名类,建议使用嵌套类实现(类内部嵌套匿名类)。因为使用匿名类创建的对象类型未知,这与ArkTS不支持structural typing和对象字面量的类型冲突,可以参考以下方案:

export interface IVoiceRecordListener<T> {
  onSuccess: (t: T) => void
  onFailed: (code: string, reason: string) => void
}

let voiceRecordListenerInstance: IVoiceRecordListener<void> = {
  onSuccess: () => {
    console.log('success')
  },
  onFailed: () => {
    console.log('failed')
  }
}

// 原先
class A {
  foo() {
    let a = new class {
      v: number = 123
    }();
  }
}
// 现在
class A {
  foo() {
    class B {
      v: number = 123
    }
    let b = new B();
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS ArkTS是否支持使用匿名
556浏览 • 2回复 待解决
HarmonyOS ets不支持匿名吗?
243浏览 • 2回复 待解决
匿名内部类如何更新外部类的变量
1774浏览 • 0回复 待解决
谁分享一下如何实现匿名内部类
901浏览 • 1回复 待解决
实现接口的匿名实现传参
462浏览 • 1回复 待解决
arkTS是否支持作为入参
1735浏览 • 1回复 待解决
ArkTS的方法是否支持重载
2475浏览 • 1回复 待解决
如何写har包的编译脚本?
977浏览 • 1回复 待解决
在接口内定义匿名回调的语法
1726浏览 • 1回复 待解决