J'ai essayé de créer une méthode d'extension dans TypeScript basée sur cette discussion (https://github.com/Microsoft/TypeScript/issues/9), mais je n'ai pas pu en créer un qui fonctionne.
Voici mon code,
namespace Mynamespace {
interface Date {
ConvertToDateFromTS(msg: string): Date;
}
Date.ConvertToDateFromTS(msg: string): Date {
//conversion code here
}
export class MyClass {}
}
mais ça ne marche pas.
Vous devez changer le prototype:
interface Date {
ConvertToDateFromTS(msg: string): Date;
}
Date.prototype.ConvertToDateFromTS = function(msg: string): Date {
// implement logic
}
let oldDate = new Date();
let newDate = oldDate.ConvertToDateFromTS(TS_VALUE);
Bien qu'il semble que vous souhaitiez avoir une méthode d'usine statique sur l'objet Date
, auquel cas vous feriez mieux de faire quelque chose comme:
interface DateConstructor {
ConvertToDateFromTS(msg: string): Date;
}
Date.ConvertToDateFromTS = function(msg: string): Date {
// implement logic
}
let newDate = Date.ConvertToDateFromTS(TS_VALUE);