Phương thức Main
được thực hiện mà không có trường hợp của lớp Program
, điều này là có thể vì đây là phương pháp tĩnh. Các phương thức tĩnh là các phương thức có thể được gọi mà không cần phải xây dựng/khởi tạo một đối tượng từ lớp đó. Họ có thể được gọi trực tiếp trên lớp bản thân như thế này:
Program.Main(new string[0]);
// executes the Main static method on Program class
// with empty string array as argument
Các nhà xây dựng không phải là một phương pháp tĩnh, để đạt breakpoint mà bạn cần phải nhanh chóng lớp Program
, như thế này:
static void Main(string[] arguments)
{
var breakpoint2 = 0;
new Program(); // breakpoint1 will be hit
}
Ngoài bạn có thể make the constructor static, mặc dù thừa nhận rằng nó không phải là really that useful from a testability standpoint và cũng ngụ ý rằng bạn sẽ có các biến tĩnh (có sẵn trên toàn cầu):
static Program() {
var breakpoint1 = 0;
// breakpoint will be hit without an instance of the Program class
}
Bạn có thể đọc thêm về static methods here.
Bạn nên đọc về sự khác biệt của các phương pháp tĩnh và không tĩnh. –