Trước hết, tôi nhận được câu trả lời trong số What is the use of static constructors?, nhưng tôi muốn có câu trả lời trong ngữ cảnh này.Tại sao chúng ta cần các nhà thầu tĩnh?
Dưới đây là C# tĩnh lớp học của tôi:
public static class BasicClass
{
static int i = 0;
static BasicClass()
{
i = 10;
}
public static void Temp()
{
//some code
}
public static void Temp1()
{
//some code
}
}
Bên này tôi có một tĩnh biến i
đó được khởi tạo tới 10 khi nó lần đầu tiên được gọi. Vì vậy, về cơ bản nó có thể là mục đích của một constructor tĩnh nhưng cùng một điều có thể đạt được mà không khai báo một constructor tĩnh bằng cách khởi tạo static int i = 10
phục vụ cùng một mục đích được khởi tạo chỉ một lần.
Sau đó, tại sao chúng ta cần một hàm tạo tĩnh? Hoặc tôi hoàn toàn sai trong việc hiểu khái niệm hoặc sử dụng các nhà thầu tĩnh?
Điều gì sẽ xảy ra nếu chương trình của bạn sử dụng tệp cấu hình? Bạn sẽ muốn lưu trữ cấu hình của mình trong các biến tĩnh, nhưng trước tiên bạn sẽ phải đọc cấu hình từ tệp và nếu tệp không tồn tại (hoặc bạn không thể mở nó vì một số lý do khác), bạn sẽ muốn đặt những cấu hình đó thành giá trị mặc định của chúng. Đó là những gì một constructor tĩnh ** có thể ** được sử dụng cho. – Nolonar