Создать экземпляр потомка из экземпляра родителя со всеми его значениями - PullRequest
0 голосов
/ 19 октября 2018

Я знаю, что в большинстве языков это невозможно, но у машинописи есть несколько очень интересных хаков, поэтому я ничего не теряю, спрашивая.

Я хочу создать дочерний элемент из экземплярародительский и назначить все его значения автоматически.

Мой пример:

У меня есть родительский класс, скажем, это класс 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 довольно сложный, я предпочитаю использовать расширение вместо оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...