Je suis assez nouveau pour C# alors soyez gentil.
Mon but final est d'avoir quelques types de classes différents pour l'héritage (exemple ci-dessous: Niveau). Ces classes héritées font deux choses, ont une propriété .Value avec des setters différents en fonction de la classe, et une méthode .Action, unique pour chaque instance, donc c'est un override.
Question: Comment définir le .Value propriété d'une méthode de la classe. C'est la ligne de code (ligne 27) qui ne fonctionne pas à partir de l'exemple ci-dessous. Et je ne comprends pas pourquoi.Classe C# avec sous-classe et héritage: valeur de réglage dans la classe héritée
Potentiometer.Value = Convert.ToDouble(data);
// Code taken from https://dotnetfiddle.net/YNJpjf
using System;
namespace Main {
class Program
{
static Device device = new Device();
static void Main(string[] args)
{
device.HandleDataUpdate("50");
}
}
public class Device
{
public class Potentiometer : Level
{
public override void Action()
{
Console.WriteLine("value is at: {0}", this.Value);
}
}
public void HandleDataUpdate(String data)
{
Potentiometer.Value = Convert.ToDouble(data);
}
}
public class Level
{
private Double thisValue;
public Double Value
{
get => thisValue;
set
{
if (thisValue != value)
{
thisValue = value;
Action();
}
}
}
public virtual void Action()
{
}
}
}
Pourquoi la classe 'Potentiometer' est-elle déclarée dans' Device'? – ja72