2010-07-22 42 views
7

Tôi biết trong C++ có vpointer và vtable. Bảng chức năng ảo là danh sách các con trỏ phương thức cho các phương thức ảo trong lớp. Mỗi thể hiện của một lớp có một con trỏ tới bảng, được sử dụng khi chúng ta gọi một phương thức ảo từ cá thể đó.Phương thức ảo hoạt động như thế nào trong C#?

Tôi muốn biết cách thực hiện điều này trong C#. Như tôi biết khái niệm về các bảng ảo là như nhau. Nhưng những gì về vpointer là GetType() được sử dụng để thay thế.

Tôi sẽ đánh giá cao nhiều chi tiết nhất có thể. Cảm ơn bạn.

Trả lời

7

Vtables là một cách tiếp cận có thể có trong C++, chúng là không phải được bắt buộc theo tiêu chuẩn C++. Cách tiếp cận .NET sử dụng rõ ràng đáp ứng các tiêu chuẩn đã xuất bản cho CLI và C#, nhưng các chi tiết thực hiện không được chỉ định (và có thể có khả năng thay đổi).

Bạn có thể phỏng đoán một số chi tiết từ cách giao diện, các thành viên bị ghi đè và thành viên "mới" hoạt động.

Tại sao bạn muốn biết điều này? Nếu bạn có một vấn đề cụ thể sau đó nêu vấn đề sẽ cho phép người khác giải quyết trực tiếp.

+0

Không có vấn đề gì cụ thể cần giải quyết Tôi chỉ muốn biết cách hoạt động/triển khai nội bộ. – NDeveloper

Các vấn đề liên quan