Этот метод класса:
public set possibilities(CardArray: Card_possibilities[]){
this._possibilities = CardArray;
}
является установщиком, одной из особенностей классов машинописи .
Объявляя этот метод с помощью set
ключевое слово, это означает, что всякий раз, когда вы пишете свойство possibilities
для Deck_List
, функция запускается (вместо попытки изменить поле possibility
, которого даже не существует), поэтому:
cardnames_obj.possibilities = CardArray;
Запустит функцию set
.Вместо этого вы пытаетесь вызвать его напрямую, что неправильно:
cardnames_obj.possibilities(CardArray);
// это не удается
Таким образом, ваша проблема не имеет ничего общего с массивами, а с тем, как выиспользуя установщик possibilities
.
Теперь, в зависимости от вашей конфигурации tsc, у вас могут быть другие ошибки, связанные с типизацией, такие как отсутствие типа возврата в сигнатурах функций и тому подобное, я не уверен в этом (ноЯ думаю, что сеттеры не нуждаются в подписи типа).