1
鍵入的枚舉實例
我有以下方法,其將枚舉的字符串實例爲相應的枚舉成員的對象上:在打字稿
function transformEnum<TBase>(base: TBase, member: keyof TBase, enumInstance: any) {
base[member] = enumInstance[base[member]];
}
它被稱爲是這樣的:
transformEnum(result, "day", DayOfWeek);
是有什麼辦法可以輸入enumInstance
變量?打字不一定是完美的,但至少有點限制它會很好。
或者我已經試過
function transform<T>(get:() => T, set: (x: T) => void, enumInstance: T) {
set((enumInstance as any)[get()]);
}
但是,當我把這個像這樣:
transform<DayOfWeek>(() => result.day, (x) => { result.day = x; }, DayOfWeek);
我得到
[TS]類型 '的typeof星期幾' 的說法是不能分配給'DayOfWeek'類型的參數。
請檢查這對你的作品:http://stackoverflow.com/questions/17380845/how-to-convert-string-to-enum-in -typescript –
@BalajiV如果你閱讀我的代碼示例,你會看到,這就是我正在做的。問題不在於如何進行轉換,而是如何輸入函數參數。 –