Câu hỏi rất ngắn, nhưng tôi không tìm thấy giải pháp.Ghi đè phương thức chồng chéo
Giả sử chúng ta có hệ thống phân cấp lớp
public abstract class A
{
public virtual string Print() { return "A"; }
}
public class B : A
{
public virtual new string Print() { return "B"; }
}
public class C : B
{
public override string Print() { return "C"; }
}
Có thể ghi đè A.Print trong lớp C? Tôi cố gắng để làm điều đó giao diện thực hiện như rõ ràng:
string A.Print() { return "C"; }
nhưng ở đây tôi nhận được một lỗi:
'A' in explicit interface declaration is not an interface
tôi nghĩ rằng nó không thể ở tất cả, nhưng sẽ đánh giá cao nhận bất kỳ thông tin bổ sung
Câu hỏi của bạn đã gắn thẻ cả C# và CIL. Bạn có muốn làm điều này trong C# hay bạn mở để viết 'C' trong CIL? – svick
@svick bởi vì tôi không chắc chắn nếu nó có thể hay không trong C# hoặc IL cả hai, do đó, xem một câu trả lời của Brian. Bây giờ bạn nhận được lý do tại sao tôi thêm thẻ cil cho câu hỏi :) –