我是否可以说数组必须具有某种类型的装饰器?
例如,说我有装饰器@A
和@B
,并将它附加到不同的类上:
@A()
export class MyClass {}
@B()
export class MyOtherClass {}
然后我有另一个装饰器,该装饰器将其他类作为数组,但仅包含@A
@C({
classes: [
MyClass,
MyOtherClass // This line should error
]
})
export class Main {}
然后我将这样定义@C
。在下面的代码段中,我将为???
输入什么内容?
interface Options {
classes: ???[] // What would I put here as a type for classes that are a type of @A
}
export function C(options: Options){
return function(target: Function) {
// Do stuff
}
}
这是否有可能?