Différence entre vala et c#: Property
Le code qui suit compile sans problème, mais plante à l'éxecution.
La correction est à la fin: Il faut introduire une variable private avec un nom différent du nom donné en Property
// Exemple Property c# - plante en vala
using GLib;
namespace Essai_property {
class Property {
public int valeur {
get {
return valeur;
}
set {
this.valeur = value;
}
}
public int run() {
valeur = 10;
stdout.printf("La valeur est %d\n", valeur);
return 0;
}
public static int main() {
var app = new Property();
return app.run();
}
}
}
Le code corrigé pour Vala:
// Exemple Property fonctionne en Vala
using GLib;
namespace Essai_property {
class Property {
private int sous_valeur; //particularité de Vala
public int valeur {
get {
return sous_valeur;
}
set {
this.sous_valeur = value;
}
}
public int run() {
valeur = 10;
stdout.printf("La valeur est %d\n", valeur);
return 0;
}
public static int main() {
var app = new Property();
return app.run();
}
}
}