Tôi đã đơn giản hóa và sao chép vấn đề của mình trong mã bên dưới. Lỗi mà tôi nhận được là: Đối số 1: không thể chuyển đổi từ 'System.Collections.ObjectModel.Collection' thành 'System.Collections.ObjectModel.CollectionC# Truyền tập hợp dưới dạng tập hợp các giao diện
Một số nền tảng cho các quyết định thiết kế dẫn đến vấn đề này: Tôi có đã tạo ra một dịch vụ web để xử lý "IFruit", nhưng do bản chất của SOAP và các ràng buộc điểm cuối khi tôi hiểu chúng tôi đã tạo ra các phương pháp với việc thực hiện rõ ràng NẾU. Trên lớp nghiệp vụ, việc tạo một phương pháp riêng biệt cho mỗi lần triển khai trái cây cụ thể trước hết sẽ gây ra nhiều mã trùng lặp và thứ hai là lớp kinh doanh và dịch vụ đủ chặt chẽ chấp nhận các loại NẾU mới trong dịch vụ web sau này cũng sẽ yêu cầu thay đổi mã của tôi trong lớp nghiệp vụ (thêm một bản sao của mã dự phòng). Thiết kế này là một trong những tôi đã thực hiện thành công bằng cách sử dụng Java trong quá khứ, nhưng giao diện C# dường như chỉ là đủ khác nhau để ném tôi. Xin cho biết.
public interface IFruit{
public string TakeBite();
}
public Apple : IFruit{
public string TakeBite(){
return "tasty bite of apple";
}
}
public void EatFruit(Collection<IFruit> fruits){
foreach(var fruit in fruits){
Console.WriteLine(fruit.TakeBite());
}
}
public void EatApples(Collection<Apple> apples){
this.EatFruit(apples);
}
Cảm ơn bạn. Điều này biên dịch.Bây giờ để cập nhật các bài kiểm tra đơn vị của tôi. – YouGotCSharpInMyJava