Từ khóa params có thực sự không được hỗ trợ trong các phương thức mở rộng không?C# sử dụng thông số và phương pháp mở rộng
Tôi thấy rằng khi tôi tạo các phương thức mở rộng với từ khóa params, tôi nhận được "Không có phương thức quá tải cho X mất 2 đối số". Intellisense nhận ra phương thức mở rộng và thậm chí biết rằng nó cần một mảng đối tượng.
Dưới đây là một số mẫu mã:
public static DalRow EasyRetrieveSingle(this DalRow dalRow, object[] parameters)
{
Dictionary<string, object> dic = new Dictionary<string, object>();
for (int i = 0; i < parameters.Length; i += 2)
dic.Add(parameters[i].ToString(), parameters[i + 1]);
List<DalRow> list = DalRow.RetrieveByFieldValues(dalRow.Structure, null, dic).Cast<DalRow>().ToList();
if (list.Count == 0) return null;
return list[0];
}
Dưới đây là một số mẫu mã mà các cuộc gọi nó (vô ích)
(new X()).EasyRetrieveSingle(1, 2);
trình cho tôi. Có vẻ như bạn đang thiếu 'params' trong đoạn mã của mình? –
Wow! Đây phải là cái đầu lạnh lẽo. Lời xin lỗi của tôi cho câu hỏi. – Daniel
Đừng lo. Xin đừng thay đổi tiêu đề, như xấu hổ như bạn cảm thấy, nó sẽ giúp những người khác googling cùng một vấn đề – johnc