Я знаю, что в большинстве языков это невозможно, но у машинописи есть несколько очень интересных хаков, поэтому я ничего не теряю, спрашивая.
Я хочу создать дочерний элемент из экземплярародительский и назначить все его значения автоматически.
Мой пример:
У меня есть родительский класс, скажем, это класс Error
.У меня нет доступа к моменту его создания, я могу получить его только в результате использования метода, назовем его buildError()
.
Теперь у меня есть свой класс:
class CustomError extends Error {
public changeMessage(newMessage:string):void{
this.message = newMessage
}
}
Я хочу создать экземпляр CustomError
из его родительского класса.Так как Error - сложный класс, я не хочу писать обертку или копировать все элементы, которые в ней есть.
Я также не хочу, чтобы делал следующее:
class CustomError {
public readonly error:Error;
constructor(er:Error){
this.error = er;
}
}
const myCustomError:CustomError = new CustomError(instanceOfError);
myCustomError.error.message = 'foo';
Возможно ли в Typescript передать родительский экземпляр и назначить все его свойстваавтоматически?
Для пояснения я использовал Error
в качестве примера, я не хочу расширять объект Error
, я хочу расширить WebDriver
в Selenium с помощью пользовательских методов, которые будут работать для моего проекта,Но поскольку WebDriver довольно сложный, я предпочитаю использовать расширение вместо оболочки.