Я новичок в Вала, и до сих пор я думаю, что это довольно круто, но у меня проблемы с пониманием наследования. Я прочитал here, что я должен использовать base()
для вызова родительского конструктора. Хорошо, круто, кажется понятным, но это не работает для меня. Я продолжал получать ошибку над заголовком. Вот мой сниппет, чтобы показать:Цепь до 'Gtk.Box.new' не поддерживается
public class MyBox : Gtk.Box {
public MyBox(Gtk.Orientation orientation, int spacing) {
// I have to this
this.set_orientation(orientation);
this.set_spacing(spacing);
// I want to do this:
base(orientation, spacing);
//workaround is this:
Object(orientation: orientation, spacing: spacing);
}
}
Пожалуйста, помогите мне понять, почему объект (....) работает, но не база (...)
это не должно быть то же самое?
Это было отличное объяснение. Поэтому всякий раз, когда я получаю ошибку в цепочке, это будет ** только ** способ ее решения? – RandomGuy
Да. В случае этих конструкторов параметры такие же, как передача их по имени конструктору 'Object', поэтому он не лишен какой-либо функциональности. – apmasell