Duccio ha scritto:
Il problema è che pur avendo dichiarato le variabili blink1 e blink2 come Static non riesco a vederle nelle altre classi.
Ma le Static non dovrebbero essere visibili a tutte le classi?
Un membro "static" vuol solo dire che è
associato alla classe (quindi è uno solo, "globale" per così dire), non associato a ciascun distinto oggetto della classe. Se un membro è visibile o meno ad altre classi, questo dipende dal "livello di accesso" del membro.
E un campo "public static" di fatto
È tecnicamente accessibile da qualunque altra classe.
Ma c'è un'altra questione, MOLTO più importante, legata al "threading". I run() dei task vengono eseguiti nel contesto di un thread specifico, creato appositamente dal Timer.
Anche andando a fare Task1.blink1 (questo è il modo di accedere a quel campo), in QUALE thread intendi farlo? Se è ovviamente differente dal thread del timer, entrano in gioco le noiose, subdole e critiche questioni sui thread. Detto in generale, senza alcuna sincronizzazione o perlomeno senza prendere alcuna precauzione, NON C'È alcuna "garanzia" che la modifica ad una variabile (sebbene "globale") fatta da un thread A, sia "visibile" da un thread B.
Quindi le domande ora sono: perché vuoi accedere a quei blink1/blink2 da altre classi? Cosa pensavi di fare?