Dato il seguente frammento di codice:Perché i tipi a cui si fa riferimento al di fuori di uno spazio dei nomi devono essere pienamente qualificati?
using System;
using Foo = System.Int32;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
}
}
}
Se rimuovo il "Sistema". da davanti a Int32 nella mia dichiarazione per l'alias di tipo "Foo", ottengo un errore del compilatore. Nonostante il fatto che sto usando lo spazio dei nomi di sistema nella parte superiore del file, il compilatore non riesce a trovare un tipo "Int32" non qualificato.
Perché è quello?
Non è "tipi" al di fuori di uno spazio dei nomi. È solo sull'utilizzo di dichiarazioni alias. 'class Program {static void Main (String [] args) {Int32 x = 0; }} 'al di fuori di un blocco del namespace funziona bene. –