【问题标题】:How to define a lambda function with a return type that can be used later with a generic如何定义一个返回类型的 lambda 函数,该返回类型可以在以后与泛型一起使用
【发布时间】:2017-10-03 22:07:49
【问题描述】:

我有一个类使用这样的泛型 -

export class MyClass<T>
{
    constructor( private myCallback:()=>T)
    {
        ...
    }
}

我的回调是一个 lambda 函数,它返回一个 T 类型的新对象。 我希望能够像这样在 MyClass 中编写代码

let t:T = this.myCallback() ;

但是我遇到了构建错误。似乎语法在某处被破坏,但我不知道在哪里。任何人都可以帮忙吗?

【问题讨论】:

    标签: typescript generics lambda


    【解决方案1】:

    下面的编译就好了here:

    class MyClass<T> {
      constructor(private myCallback: () => T) {}
    
      thing(): T {
        const t: T = this.myCallback();
        return t;
      }
    }
    
    let s: string = new MyClass<string>(() => "hello").thing();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      相关资源
      最近更新 更多