Hãy suy nghĩ về nó theo cách này: bạn truy cập vào các thành viên tĩnh thông qua tên loại, như thế này:
MyStaticType.MyStaticMember();
Were bạn kế thừa từ lớp đó, bạn sẽ phải truy cập vào nó thông qua tên kiểu mới:
MyNewType.MyStaticMember();
Vì vậy, mục mới không có mối quan hệ với bản gốc khi được sử dụng trong mã. Sẽ không có cách nào để tận dụng lợi thế của bất kỳ mối quan hệ thừa kế nào cho những thứ như đa hình.
Có lẽ bạn đang nghĩ bạn chỉ muốn mở rộng một số mục trong lớp gốc. Trong trường hợp đó, không có gì ngăn cản bạn chỉ sử dụng một thành viên của bản gốc trong một loại hoàn toàn mới.
Có lẽ bạn muốn thêm phương thức vào loại tĩnh hiện có. Bạn có thể thực hiện điều đó thông qua các phương thức mở rộng.
Có lẽ bạn muốn có thể vượt qua một static Type
đến một hàm trong thời gian chạy và gọi một phương thức trên loại đó, mà không biết chính xác những gì phương thức thực hiện. Trong trường hợp đó, bạn có thể sử dụng Giao diện.
Vì vậy, cuối cùng bạn không thực sự đạt được bất kỳ thứ gì từ kế thừa các lớp tĩnh.
Nguồn
2009-04-21 19:29:51
có thể trùng lặp của [Làm thế nào có thể một lớp tĩnh xuất phát từ một đối tượng?] (http://stackoverflow.com/questions/556203/how-can-a-static-class-derive-from-an-object) –