Sto lavorando a un progetto di micro quadro C # net, in particolare una gestione / classe del bus I2C.
Ho diversi dispositivi I2C diversi definiti in classi separate che contengono tutti i metodi unici dei dispositivi. Nel mio caso, posso avere solo un I2CDevice
oggetto "attivo" per comunicare con e per passare a un altro dispositivo I2C per comunicare con esso richiede una chiamata come I2CBus.Config = DeviceConfig1
.
Ad esempio (pseudo-codice):
Class Device1
-DeviceConfig1
-Method 1
-Method 2
-Method 3
Class Device2
-DeviceConfig2
-Method 1
-Method 2
-Method 3
Main Program
{
I2cBus = new I2CDevice(configuration)
Device1.Method1
Device2.Method3
}
Quindi, da qualche parte tra Device1.Method1;
e Device2.Method3;
Quando si passa da un dispositivo all'altro, ho bisogno di cambiare la proprietà I2CDevice.Config. Lo chiamo un "evento OnClassEnter" che verificherebbe che le impostazioni del dispositivo siano corrette prima di procedere. Sto cercando un modo elegante in modo tale che ogni volta che chiamo un metodo per un dispositivo, che l'I2CBus.Config venga automaticamente controllato e modificato. C'è un modo in cui non ho bisogno di ri-digitare questo codice di configurazione in ogni metodo? Hai un metodo interno separato che viene chiamato ogni volta che accedo a uno di questi metodi? Forse qualcosa ereditato da una classe base o interfaccia, ma dove non devo ricordare chiamarlo da ogni metodo nella classe Device.