Đây là tài liệu nhiều hơn câu hỏi thực. Đây dường như không đã được giải quyết trên SO chưa (trừ khi tôi bị mất nó), vì vậy ở đây đi:Các thành viên tĩnh của một lớp chung có gắn với cá thể cụ thể không?
Hãy tưởng tượng một lớp generic có chứa một thành viên tĩnh:
class Foo<T> {
public static int member;
}
Có một trường hợp mới của thành viên cho từng lớp cụ thể, hoặc chỉ có một cá thể duy nhất cho tất cả các lớp kiểu Foo?
Nó có thể dễ dàng được xác nhận bởi mã như thế này:
Foo<int>.member = 1;
Foo<string>.member = 2;
Console.WriteLine (Foo<int>.member);
kết quả là gì, và ở đâu là hành vi này ghi nhận?
Câu trả lời ngắn: Có một trường hợp mới cho mỗi lớp * thực tế *, ví dụ một cho mỗi loại 'T' được sử dụng (' Foo 'và' Foo 'đại diện cho hai lớp khác nhau, và sẽ có một ví dụ, nhưng một vài ý định của 'Foo ' sẽ chia sẻ một cá thể duy nhất của 'thành viên'). Để biết ví dụ chi tiết hơn, hãy xem: http://stackoverflow.com/a/38369256/336648 –
Kjartan