Voici une struct je suis en train d'écrire:
public struct AttackTraits
{
public AttackTraits(double probability, int damage, float distance)
{
Probability = probability;
Distance = distance;
Damage = damage;
}
private double probability;
public double Probability
{
get
{
return probability;
}
set
{
if (value > 1 || value < 0)
{
throw new ArgumentOutOfRangeException("Probability values must be in the range [0, 1]");
}
probability = value;
}
}
public int Damage { get; set; }
public float Distance { get; set; }
}
Cette résultats dans la suite des erreurs de compilation:
Le " il " de l'objet ne peut pas être utilisé avant tous ses champs sont affectés pour
Champ 'AttackTraits.probabilité " doit être entièrement attribué, avant que la commande est retourné à l'appelant
Champ de stockage pour automatiquement mise en œuvre de la propriété 'AttackTraits.Les dommages doivent être pleinement attribué, avant que la commande est renvoyée à l'appelant. Pensez à téléphoner à l' constructeur par défaut à partir d'un constructeur initialiseur.
Champ de stockage pour automatiquement mise en œuvre de la propriété 'AttackTraits.Distance doivent être pleinement attribué, avant que la commande est renvoyée à l'appelant. Pensez à téléphoner à l' constructeur par défaut à partir d'un constructeur initialiseur.
Ce que je fais mal?