Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Sử dụng chỉ thị #line trong C#


Chỉ thị #line cho phép bạn thay đổi số dòng của trình biên dịch và (tùy chọn) tên file xuất ra cho lỗi và cảnh báo.

Ví dụ 1: Thay đổi số dòng và tên file

#line 100 "demo"
int a; // CS0168 trên dòng 100
int b; // CS0168 trên dòng 101
int c; // CS0168 trên dòng 102

Chỉ thị #line 100 buộc số dòng thành 100 và cho đến chỉ thị #line tiếp theo, tên file sẽ báo cáo là "demo".

Ví dụ 2: Khôi phục mặc định

#line default
char a; // CS0168 trên dòng 15
float b; // CS0168 trên dòng 16

Chỉ thị #line default khôi phục số dòng về mặc định. Chỉ thị này sau đó đếm các dòng đã được đánh số lại bởi chỉ thị trước đó.

Ứng dụng thực tế

#line thường được dùng bởi:

  • Công cụ sinh mã (code generators) để map lỗi về file nguồn gốc
  • Template engines (Razor, T4) để báo lỗi chính xác tại file template
  • Debugger để hiển thị vị trí chính xác trong mã nguồn gốc

Ví dụ thực tế:

#line 50 "GeneratedCode.cs"
// Mã được sinh tự động
public class GeneratedClass { }

// Quay lại mã thủ công
#line default
public class ManualClass { }