나는 가능하다고 생각하지 않지만 묻는 것이 좋습니다. 일반 메서드 또는 클래스에서 사용 된 일반 T 형식의 이름을 기록하려면 문자열로 사용해야합니다.Typescript 제네릭 형식 T toString
과 같은 방법 상상 :
let m = getTypeName<Message>(); // Expected string "Message"
let p = getTypeName<Person>(); // Expected string "Person"
위 getTypeName 잘못, 그것조차 구축하지 않습니다
static getTypeName<T>(): string {
return typeof T; // This is wrong
}
나는이 방법을 사용할 수 있도록 기대를 . typeof가 JS에 옮겨져 원하는 효과를 내지 못한다. 다양한 시도를했지만 성공하지 못했습니다.
실제로 어떤 방법이 있습니까?
편집 :이의 중복없는 이유 : this question
문제는 및 예제 코드가 다시 객체가 아닌 지정된 유형의 이름을 가져 오는 방법을 보여줍니다. "[ts] 인수 'typeof MyType'의 인수를 'new()'유형의 매개 변수에 지정할 수 없기 때문에이 메서드는 일반 매개 변수가 아닙니다. => MyType '. " 또한, 제네릭 메서드 내에서 함수를 사용하면 매개 변수로 T를 사용할 수 없습니다. 즉, 제네릭 타입에서 이름을 가져올 필요가있는 모든 곳에서이 매개 변수를 추가해야합니다. 매개 변수
관련 : https://stackoverflow.com/questions/41160690/is-it-possible-to-get-the-type-name-of-a-generic-type – artem
가능 [generic 형식의 형식 이름을 가져올 수 있습니까?] (https://stackoverflow.com/questions/41160690/is-it-possible-to-get-the-type-name-of-a-) 제네릭 유형) – Duncan