Я использую Silverlight 4.0 в своем приложении.У меня есть метод в моем базовом классе, как упомянуто ниже
class BaseClass
{
protected CustomRequest GetCustomRequest(IEnumerable<IRequestType> types)
{
//Some code here...
}
}
В моем производном классе, когда я вызываю этот метод, как показано ниже, я получаю ошибку
IEnumerable<RequestType> requestTypes = CodeToGetThis();
GetCustomRequest(requestTypes)
Обратите внимание, что в операторе вызоваТип requestTypes - это перечисляемый производный тип IRequestType .
. Это хорошо работает в настольных приложениях благодаря введению ковариации в c # 4.0.Но кажется, что для silverlight 4.0 это не сделано для интерфейса IEnumerable.
Так какой же лучший альтернативный подход я должен использовать в своем приложении silverlight для этого?
Я где-то читал, что он можетбыть сделано с использованием перегрузки методов, но не уверен, как это сделать.
ОБНОВЛЕНИЕ: Одна вещь, которую я пропустил в первом наброске вопроса, состоит в том, что у меня будет много производных типов IRequestType, поэтому я буду стремитьсяперегруженный метод для каждого производного типа будет проблемой для меня.