Comunque un'assegnazione non potrà certo contenere il solo identificativo, come è invece la chiamata ad una funzione/metodo senza parametri.
temp = New <-- intendi qiuesto?
Se tieni buona la mia proposta avremmo due casi entrambi validi:
temp = New <-- temp prend eil valore della variabile locale New
temp = main.new <-- temp prende il valore ritornato dalla funzione/metodo senza parametri New
NB: e se esistesse anche una variabile globale denominata New nel modulo main? Ecco, questo potrebbe essere il punto dove il compilatore dovrebbe un attimino prendersela..e non consentirlo. Intendo dire, non consentire (o avvisare) che esista SIA la variabile globale Main.New CHE il metodo Main.New