मैं पैकेज typescript-json-serializer से निम्नलिखित API का उपयोग करने का प्रयास कर रहा हूं।

export declare function deserialize<T>(json: object, type: new (...params: Array<any>) => T): T;

इस एपीआई उपयोग के लिए एक साधारण कामकाजी नमूना कोड है:

const result: MyClass = deserialize<MyClass>(json, MyClass);

मेरा उपयोग थोड़ा और मुश्किल है। MyClass के बजाय, मैं एक सामान्य वर्ग रखना चाहता हूं, जैसे MyClass<T>

मैंने निम्नलिखित की कोशिश की, लेकिन यह संकलित करने में विफल रहा है

const result: MyClass<T> = deserialize<MyClass<T>>(json, MyClass<T>);

उल्लिखित त्रुटि है Value of type 'typeof MyClass' is not callable. Did you mean to include 'new'?

कुछ पता है इसे कैसे हल करना है ?

अद्यतन: मेरे अंतिम उदाहरण में, टी एक वास्तविक वर्ग है।

const result: MyClass<MyClass2> = deserialize<MyClass<MyClass2>>(json, MyClass<MyClass2>);
0
Omar BELKHODJA 7 अक्टूबर 2020, 01:52

1 उत्तर

सबसे बढ़िया उत्तर

कंस्ट्रक्टर का सामान्य पैरामीटर deserialize पर टी एनोटेशन द्वारा निहित है। सही और टाइपसेफ सिंटैक्स है:

deserialize<MyClass<T>>(json, MyClass);
0
concat 7 अक्टूबर 2020, 03:56