Sto esaminando un paio delle nuove funzionalità di C # 6, in particolare "utilizzo statico" .
using static è un nuovo tipo di clausola using che consente di importare membri statici di tipi direttamente nell'ambito.
(In fondo al post del blog)
L'idea è la seguente, secondo un paio di tutorial che ho trovato,
invece di:
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello world!");
Console.WriteLine("Another message");
}
}
È possibile omettere l' Console
istruzione ripetuta , utilizzando la nuova funzionalità C # 6 per l'utilizzo di classi statiche:
using System.Console;
// ^ `.Console` added.
class Program
{
static void Main()
{
WriteLine("Hello world!");
WriteLine("Another message");
} // ^ `Console.` removed.
}
Tuttavia, questo non sembra funzionare per me. Ricevo un errore using
nell'istruzione, dicendo:
"Una
using namespace
direttiva" può essere applicata solo agli spazi dei nomi;Console
"è un tipo non uno spazio dei nomi. Considera invece unausing static
direttiva" ""
Utilizzo Visual Studio 2015 e la versione del linguaggio di compilazione è impostata su "C # 6.0"
Cosa succede? L'esempio del blog msdn non è corretto? Perché non funziona?
Il post del blog è stato ora aggiornato per riflettere gli ultimi aggiornamenti, ma ecco uno screenshot nel caso in cui il blog non funzioni:
System.Math
, specificamenteMath.PI
. Quando usousing static System.Math
metodi come ilSqrt()
lavoro ma non come un costantePI
. Devo continuare a scrivereMath.PI
o il codice non si compila. Sono curioso di sapere perché questo non funziona. Devo inviare una nuova domanda per questo?