제네릭이 TypeScript에서 속성을 구현하도록 강제하고 싶습니다. 내 현재 코드는 다음과 같습니다.
interface IEventHandler<TArgs>
{
(args: TArgs): void
}
interface ISubscribable<THandlerType>
{
bind(fn: THandlerType): void;
unbind(fn: THandlerType): void;
}
interface IEvent<TArgs> extends ISubscribable<IEventHandler<TArgs>>
{
}
같은 것 interface IEventHandler<TArgs> where TArgs : has_property_sender
. TypeScript에 대해 어디에 존재하지 않는지 알고 있으므로 다른 인터페이스로 해결 방법을 얻을 수 있습니까?
TypeScript에서 가능합니까?
수정 됨 :
다른 사람에게 도움이되는 경우 코드 . 최적화 할 수 있는지 모르겠습니다.
Typescript에서 제약 조건 ( "일반 제약 조건"섹션)을 사용할 수 있습니다 . 예 :
interface has_property_sender {
sender: Object;
}
interface MyArgs extends has_property_sender {
property: Object;
}
interface IEventHandler<TArgs extends has_property_sender>
{
(args: TArgs): void
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다