Nếu:đúc vĩnh viễn vào một lớp cha
class Car : Automobile
{}
tôi có thể làm:
Car toyota = new Car();
Automobile tauto = (Automobile)toyota;
nhưng nếu tôi làm tauto.GetType().Name
nó vẫn sẽ xe.
Có thể thực hiện dàn diễn viên, để loại được thay đổi vĩnh viễn thành ô tô (không phải sao chép đối tượng)?
Vấn đề tôi đang cố khắc phục là không có nhiều thừa kế trong C# và tôi cần hợp nhất các đối tượng (có cùng chữ ký) từ 2 dịch vụ, trong một phương thức và trả về một loại.
Chỉ tò mò: tại sao bạn muốn thực hiện việc này? –
Xin lỗi vì đã hỏi nhưng tại sao bạn lại muốn làm điều đó? Đối tượng ** là ** Ô tô, không phải ô tô. Nếu bạn muốn một ô tô sau đó nhanh chóng một. – Lazarus
câu chuyện dài, nhưng nó liên quan đến Entity Framework, POCOs, và không có khả năng sử dụng cùng một lớp POCO được trả về bởi 2 bộ thực thể khác nhau. Vì vậy, tôi có để có được xung quanh đó bằng thừa kế .. Nhưng bên ngoài sẽ, tôi muốn các đối tượng từ cả hai quan điểm là như nhau .. vì vậy chỉ cần trả lại các lớp siêu. đơn giản là vấn đề bởi vì những thứ như WCF serializer và .net 3,5 generics vẫn đối xử với các đối tượng cast như subclass –