Tôi đang xem xét một vài tính năng mới trong C # 6, cụ thể là "sử dụng tĩnh" .
using static là một loại mệnh đề using mới cho phép bạn nhập trực tiếp các thành viên tĩnh của các loại vào phạm vi.
(Cuối bài đăng trên blog)
Ý tưởng như sau, theo một vài hướng dẫn tôi tìm thấy,
Thay vì:
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello world!");
Console.WriteLine("Another message");
}
}
Bạn có thể bỏ qua Console
câu lệnh lặp lại bằng cách sử dụng tính năng C # 6 mới của việc sử dụng các lớp tĩnh:
using System.Console;
// ^ `.Console` added.
class Program
{
static void Main()
{
WriteLine("Hello world!");
WriteLine("Another message");
} // ^ `Console.` removed.
}
Tuy nhiên, điều này dường như không hiệu quả với tôi. Tôi gặp lỗi trong using
câu lệnh, nói rằng:
"
using namespace
Chỉ có thể áp dụng lệnh" '' cho vùng tên; 'Console
' là một kiểu không phải vùng tên. Hãy xem xét một lệnh 'using static
' thay thế "
Tôi đang sử dụng visual studio 2015 và tôi đã đặt phiên bản ngôn ngữ xây dựng thành "C # 6.0"
Đưa cái gì? Ví dụ của blog msdn không chính xác? Tại sao điều này không hoạt động?
Bài đăng trên blog hiện đã được cập nhật để phản ánh các cập nhật mới nhất, nhưng đây là ảnh chụp màn hình trong trường hợp blog bị sập:
System.Math
, cụ thể làMath.PI
. Khi tôi sử dụngusing static System.Math
, các phương thức giống nhưSqrt()
hoạt động nhưng không phải là một hằng số nhưPI
. Tôi phải tiếp tục viếtMath.PI
hoặc mã không biên dịch. Tôi tò mò là tại sao điều này không hoạt động. Tôi có nên gửi một câu hỏi mới cho việc này không?