Giả sử bạn có hai lớp C# khác nhau A
và B
trong khi không xuất phát từ cùng một lớp cơ sở thì hãy chia sẻ một số tên giống nhau cho các phương thức. Ví dụ: cả hai lớp đều có connect
và phương thức disconnect
cũng như một số lớp khác. Tôi muốn để có thể viết mã một lần mà sẽ làm việc với cả hai loại.Mã C# để xử lý các lớp khác nhau với cùng tên phương thức
Đây là một ví dụ đơn giản về những gì tôi muốn làm:
public void make_connection(Object x)
{
x.connect() ;
// Do some more stuff...
x.disconnect() ;
return ;
}
Tất nhiên, điều này không biên dịch như lớp Object không có một phương pháp connect
hoặc disconnect
.
Có cách nào để thực hiện việc này không?
CẬP NHẬT. Tôi nên làm điều này rõ ràng ngay từ đầu: Tôi chỉ có các DLL cho A và B chứ không phải nguồn.
này là khá nhiều như thế nào tất cả mọi người học cách có giá trị các cấu trúc giao diện là. Bạn thực sự cần phải đánh một tình huống mà chúng hữu ích trước khi bạn "làm cho nó". –