不带泛型的关联参数类型和返回类型(TypeScript)

不带泛型的关联参数类型和返回类型(TypeScript),typescript,Typescript,假设我有6个接口 A1、A2 B1,B2 C1,C2 我想写一个函数,它取A1,B1和C1中的一个;返回A2、B2和C2中的一个,以保持关系。(A1=>A2,B1=>B2,C1=>C2) 我不能在我的案例中使用泛型 这是真实的情况 我有下面的界面 接口多回音问题扩展问题 接口下拉问题扩展问题 接口输入问题扩展问题 ** 接口multipleechoiceresponse扩展了响应 接口DropdownResponse扩展了响应 接口输入响应扩展响应 ** 接口multipleEc

假设我有6个接口

  • A1、A2
  • B1,B2
  • C1,C2
我想写一个函数,它取A1,B1和C1中的一个;返回A2、B2和C2中的一个,以保持关系。(A1=>A2,B1=>B2,C1=>C2)

我不能在我的案例中使用泛型


这是真实的情况

我有下面的界面

  • 接口多回音问题扩展问题
  • 接口下拉问题扩展问题
  • 接口输入问题扩展问题
**

  • 接口multipleechoiceresponse扩展了响应
  • 接口DropdownResponse扩展了响应
  • 接口输入响应扩展响应
**

  • 接口multipleEchoiceResult扩展了结果
  • 接口DropdownResult扩展了结果
  • 接口InputResult扩展结果
现在,我需要一个函数,它接受一个问题和一个响应,并返回一个结果。然而,我不想松散的类型

我想写一个函数,它取A1,B1和C1中的一个;返回A2、B2和C2中的一个,以保持关系。(A1=>A2,B1=>B2,C1=>C2)

简单功能:


为每个函数编写不同的方法。据我所知,给定A1类型的参数,该函数可以返回B2。这就是我想要限制的。给定A1,返回类型必须为A2。foo的类型(A1)=A2
function foo(a: A1): A2;
function foo(a: B1): B2;
function foo(a: C1): C2;
function foo(a: A1 | B1 | C1): A2 | B2 | C2 {
  //  implement
}