Trong C#, giả sử bạn có một đối tượng (ví dụ: myObject
) là một thể hiện của lớp MyClass
. Chỉ sử dụng myObject
, bạn sẽ truy cập vào thành viên tĩnh của MyClass
như thế nào?C# - làm thế nào để truy cập một thành viên tĩnh của lớp, được đưa ra một thể hiện của lớp đó?
class MyClass
{
public static int i = 123 ;
}
class MainClass
{
public static void Main()
{
MyClass myObject = new MyClass() ;
myObject.GetType().i = 456 ; // something like this is desired,
// but erroneous
}
}
Bạn có thể giải thích lý do tại sao bạn không thể tham chiếu trực tiếp hơn không? Có một chút mùi mã ở đây. –
Phương thức của tôi nhận một tham số thuộc kiểu Block, nhưng đối số thực sự truyền là một lớp thuộc một trong số các lớp con * của Block và mỗi lớp con phải có bản sao riêng của thành viên tĩnh (vai trò này được chơi) bởi "i" trong mã câu hỏi của tôi). – JaysonFix
IMHO, thường là câu trả lời hay nhất cho "Làm cách nào để thực hiện việc này?" là "Đừng làm thế." Tôi mạnh mẽ nghi ngờ đây là một trong những lần đó. – tnyfst