Saya melihat beberapa fitur baru di C # 6, khususnya, "menggunakan statis" .
using static adalah jenis baru penggunaan klausa yang memungkinkan Anda mengimpor anggota statis jenis langsung ke dalam cakupan.
(Bagian bawah posting blog)
Idenya adalah sebagai berikut, menurut beberapa tutorial yang saya temukan,
Daripada:
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello world!");
Console.WriteLine("Another message");
}
}
Anda dapat menghilangkan Console
pernyataan berulang , menggunakan fitur C # 6 baru menggunakan kelas statis:
using System.Console;
// ^ `.Console` added.
class Program
{
static void Main()
{
WriteLine("Hello world!");
WriteLine("Another message");
} // ^ `Console.` removed.
}
Namun, ini tampaknya tidak berhasil untuk saya. Saya mendapatkan kesalahan pada using
pernyataan, yang mengatakan:
"A '
using namespace
' directive hanya bisa diterapkan ke namespace; 'Console
' adalah tipe bukan namespace. Pertimbangkan 'using static
' directive sebagai gantinya"
Saya menggunakan visual studio 2015, dan versi bahasa build saya disetel ke "C # 6.0"
Apa yang memberi? Apakah contoh blog msdn salah? Mengapa ini tidak berhasil?
Entri blog sekarang telah diperbarui untuk mencerminkan pembaruan terkini, tetapi berikut tangkapan layarnya jika blog mati:
System.Math
, secara khususMath.PI
. Ketika saya menggunakanusing static System.Math
, metode sukaSqrt()
bekerja tetapi tidak seperti konstanPI
. Saya harus terus menulisMath.PI
atau kode tidak dapat dikompilasi. Saya ingin tahu mengapa ini tidak berhasil. Haruskah saya mengajukan pertanyaan baru untuk ini?PI
bukan statis anggota dariMath
kelas. Itu konstan. Sederhananya: anggota harus dinyatakan sebagaistatic
.using const System.Math;
:)The
static
Keyword padausing
pernyataan akan mengimpor hanya satu, jenis tertentu (dan itu jenis bersarang). Selanjutnya Anda tidak boleh memberikan nama jenis lagi. Jadi tambahkan saja statis ke penggunaan Anda.Catatan: Gunakan fitur ini hanya jika kedua kelas terkait erat secara logis, jika tidak maka akan sulit untuk membaca kode.
sumber