IDE: Metodo ClassName usato come non statico
copia linkDescrizione del difetto
Se si utilizzava il metodo ClassName si potevano ottenere errori di compilazione in casi particolari.
Il malfunzionamento si manifestava se si utilizzava il metodo senza specificare nulla all'interno di un metodo non statico:
public void MyMethod()
{
String s1 = MyClass.className(); // Chiamata corretta che non generava errore
String s2 = this.className(); // Chiamata non corretta ma che Instant Developer era in grado di gestire correttamente
String s3 = className(); // Generava errore di compilazione
}
Nell'esempio mostrato sopra la prima chiamata è quella corretta: il metodo ClassName è statico e va chiamato come tale.
La seconda chiamata non generava errore anche se non era formalmente corretta: il metodo è statico ma veniva chiamato fornendo l'istanza della classe. Instant Developer, utilizzando l'istanza, era in grado di risalire alla classe e generava il codice corretto.
La terza chiamata generava errore di compilazione. A partire dalla versione 24.0 anche il terzo caso è stato gestito e si comporta come il secondo caso.
Effetti del malfunzionamento
- Si otteneva un errore di compilazione.
Soluzioni
Era sufficiente anteporre il nome della classe alla chiamata ClassName.
Funzionalità interessate
L'utilizzo del metodo ClassName nel codice applicativo.
Note
- Malfunzionamento relativo alla richiesta di assistenza 000206-2024.
Ultima modifica: 17/05/2024 / Validità: da 24.0.9300