Mr-*_*mer 4 javascript node.js typescript
我有这个通用类,我想使用该通用参数:
export class OperationResult<TResult>
{
public success: boolean;
public message: string;
public result: TResult;
constructor(success: boolean, message: string, result: TResult) {
this.success = success;
this.message = message;
this.result = result;
}
public static BuildSuccessResult(message: string, result: TResult): OperationResult<TResult> {
return new OperationResult<TResult>(true, message, result);
}
}
Run Code Online (Sandbox Code Playgroud)
但它向我显示了该BuildSuccessResult函数的错误:
静态成员不能引用类类型parameters.ts
如何在静态函数上返回通用值?
您的静态方法还应该接受如下泛型:
请参阅 TS Playground:https://tsplay.dev/rw2ljm
public static BuildSuccessResult<TResult>(message: string, result: TResult): OperationResult<TResult> {
return new OperationResult<TResult>(true, message, result);
}
Run Code Online (Sandbox Code Playgroud)
由于静态方法可以在没有类实例的情况下调用,因此该方法必须是泛型的。<TResult>如果方法不是静态的,您将需要部分,因为在这种情况下,TResult可以从实例中推断出。
关于 TypeScript repo有一个冗长的讨论。
| 归档时间: |
|
| 查看次数: |
2226 次 |
| 最近记录: |