typescript에서 제네릭이있는 클래스 인스턴스를 어떻게 감지 할 수 있습니까?

Guilherme Rocha

두 개의 매개 변수를 사용하는 함수를 만들려고합니다. 첫 번째는 클래스 참조이고 두 번째는 클래스 참조의 인스턴스이고 출력이 특정 유형 인 하나의 매개 변수 만있는 함수입니다. 아래 코드를 시도했지만 p가 Pair의 인스턴스 였으면 좋겠지 만 typescript는 p에 대해 알 수없는 유형을 보여줍니다.

interface Point{
    x: number
    y: number
}
class Pair{
    key = 0
    value = 0
}
function set<Class extends { new (): Type }, Type>(
    inputClass: Class,
    constructor: (o: Type) => Point) {
    //implementation...
}
set(Pair, p => ({x: p.key, y: p.value}))
// Typescript says:
// (parameter) p: unknown
// Object is of type 'unknown'.(2571)

나는 p가 Pair의 인스턴스 여야한다는 것을 타이프 스크립트로 알고 싶었습니다.


Java 제네릭을 사용하여 구현할 수 있었지만 여전히 typescript에서 복제 할 수 없습니다. 코드를 따르십시오.

public <K extends Pair, T extends Class<K>> void setRenderer(T classe, Function<K, Point> constructor){
    //implementation
}
이반 V.

이것은 작동합니다.

function set<C>(
    inputClass: new ()=>C,
    constructor: (o: C) => Point) {
    //implementation...
}

Typescript 놀이터

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++에서 ProgID 만 주어진 클래스를 어떻게 인스턴스화 할 수 있습니까?

분류에서Dev

UIView의 자식 클래스에서 탭 이벤트를 어떻게 감지 할 수 있습니까?

분류에서Dev

클래스 인스턴스가 아닌 이벤트에 변수를 어떻게 전달할 수 있습니까?

분류에서Dev

C ++의 DLL에서 클래스를 어떻게 인스턴스화 할 수 있습니까?

분류에서Dev

이 인스턴스 메서드는 다른 클래스에서 어떻게 액세스 할 수 있습니까?

분류에서Dev

Map에 전달한 클래스 인스턴스를 키 JavaScript로 어떻게 참조 할 수 있습니까?

분류에서Dev

Javascript : LocalStorage에 클래스의 인스턴스를 어떻게 저장할 수 있습니까?

분류에서Dev

typescript에서 기존 클래스를 어떻게 확장 할 수 있습니까?

분류에서Dev

typescript에서 기존 클래스를 어떻게 확장 할 수 있습니까?

분류에서Dev

Java에서 Java 인터페이스를 구현하는 JRuby 클래스를 어떻게 인스턴스화 할 수 있습니까?

분류에서Dev

Java에서 Java 인터페이스를 구현하는 JRuby 클래스를 어떻게 인스턴스화 할 수 있습니까?

분류에서Dev

Python-자식 클래스 인스턴스에서 슈퍼 클래스의 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

자바 : 다른 클래스의 한 클래스에서 인스턴스화 된 객체를 어떻게 사용할 수 있습니까?

분류에서Dev

typescript에서 클래스의 인스턴스가 아닌 클래스를받는 인터페이스를 어떻게 만들 수 있습니까?

분류에서Dev

프로세스가 자식 네임 스페이스에 있음을 어떻게 감지 할 수 있습니까?

분류에서Dev

어떻게 제네릭 클래스는 하나 개의 클래스 또는 다른에서 확장을 나타냅니다 할 수 있습니까?

분류에서Dev

CSS에서 클래스 / ID로 스프라이트 이미지를 어떻게 호출 할 수 있습니까?

분류에서Dev

PrintfArg를 어떻게 인스턴스화 할 수 있습니까?

분류에서Dev

자바 스크립트로 HTML 클래스를 어떻게 감지 할 수 있습니까?

분류에서Dev

소스 코드에서 모든 포인터 비교를 어떻게 감지 할 수 있습니까? C ++

분류에서Dev

Swift :이 인스턴스에서 인덱스가 범위를 벗어나는 것을 어떻게 방지 할 수 있습니까?

분류에서Dev

클릭 리스너의 "다양한"인스턴스를 Google지도에 어떻게 넣을 수 있습니까?

분류에서Dev

클래스에서 만들어진 인스턴스 수를 어떻게 알 수 있습니까?

분류에서Dev

C ++ 세트에 클래스 객체가 있는지 어떻게 확인할 수 있습니까?

분류에서Dev

gson이 클래스 인스턴스와 배열 사이를 어떻게 식별 할 수 있습니까?

분류에서Dev

클래스 내에서 함수를 어떻게 호출 할 수 있습니까?

분류에서Dev

클래스에서 $ _POST 변수를 어떻게 사용할 수 있습니까?

분류에서Dev

Ruby의 확장 모듈에서 클래스 인스턴스 변수를 어떻게 사용할 수 있습니까?

분류에서Dev

클래스 내의 클래스에 대한 클릭 핸들러를 어떻게 구현할 수 있습니까?

Related 관련 기사

  1. 1

    C ++에서 ProgID 만 주어진 클래스를 어떻게 인스턴스화 할 수 있습니까?

  2. 2

    UIView의 자식 클래스에서 탭 이벤트를 어떻게 감지 할 수 있습니까?

  3. 3

    클래스 인스턴스가 아닌 이벤트에 변수를 어떻게 전달할 수 있습니까?

  4. 4

    C ++의 DLL에서 클래스를 어떻게 인스턴스화 할 수 있습니까?

  5. 5

    이 인스턴스 메서드는 다른 클래스에서 어떻게 액세스 할 수 있습니까?

  6. 6

    Map에 전달한 클래스 인스턴스를 키 JavaScript로 어떻게 참조 할 수 있습니까?

  7. 7

    Javascript : LocalStorage에 클래스의 인스턴스를 어떻게 저장할 수 있습니까?

  8. 8

    typescript에서 기존 클래스를 어떻게 확장 할 수 있습니까?

  9. 9

    typescript에서 기존 클래스를 어떻게 확장 할 수 있습니까?

  10. 10

    Java에서 Java 인터페이스를 구현하는 JRuby 클래스를 어떻게 인스턴스화 할 수 있습니까?

  11. 11

    Java에서 Java 인터페이스를 구현하는 JRuby 클래스를 어떻게 인스턴스화 할 수 있습니까?

  12. 12

    Python-자식 클래스 인스턴스에서 슈퍼 클래스의 메서드를 어떻게 호출 할 수 있습니까?

  13. 13

    자바 : 다른 클래스의 한 클래스에서 인스턴스화 된 객체를 어떻게 사용할 수 있습니까?

  14. 14

    typescript에서 클래스의 인스턴스가 아닌 클래스를받는 인터페이스를 어떻게 만들 수 있습니까?

  15. 15

    프로세스가 자식 네임 스페이스에 있음을 어떻게 감지 할 수 있습니까?

  16. 16

    어떻게 제네릭 클래스는 하나 개의 클래스 또는 다른에서 확장을 나타냅니다 할 수 있습니까?

  17. 17

    CSS에서 클래스 / ID로 스프라이트 이미지를 어떻게 호출 할 수 있습니까?

  18. 18

    PrintfArg를 어떻게 인스턴스화 할 수 있습니까?

  19. 19

    자바 스크립트로 HTML 클래스를 어떻게 감지 할 수 있습니까?

  20. 20

    소스 코드에서 모든 포인터 비교를 어떻게 감지 할 수 있습니까? C ++

  21. 21

    Swift :이 인스턴스에서 인덱스가 범위를 벗어나는 것을 어떻게 방지 할 수 있습니까?

  22. 22

    클릭 리스너의 "다양한"인스턴스를 Google지도에 어떻게 넣을 수 있습니까?

  23. 23

    클래스에서 만들어진 인스턴스 수를 어떻게 알 수 있습니까?

  24. 24

    C ++ 세트에 클래스 객체가 있는지 어떻게 확인할 수 있습니까?

  25. 25

    gson이 클래스 인스턴스와 배열 사이를 어떻게 식별 할 수 있습니까?

  26. 26

    클래스 내에서 함수를 어떻게 호출 할 수 있습니까?

  27. 27

    클래스에서 $ _POST 변수를 어떻게 사용할 수 있습니까?

  28. 28

    Ruby의 확장 모듈에서 클래스 인스턴스 변수를 어떻게 사용할 수 있습니까?

  29. 29

    클래스 내의 클래스에 대한 클릭 핸들러를 어떻게 구현할 수 있습니까?

뜨겁다태그

보관