Я делаю некоторые работы со статистикой, и хочу, чтобы реорганизовать следующий метод:Ограниченная реализация IList <>?
public static blah(float[] array)
{
//Do something over array, sum it for example.
}
Однако, вместо того, чтобы использовать поплавок [] Я хотел бы использовать какое-то индексированный перечислимы (использовать динамические загрузка с диска для очень больших массивов, например). Я создал простой интерфейс и хотел его использовать.
public interface IArray<T> : IEnumerable<T>
{
T this[int j] { get; set; }
int Length { get; }
}
Моя проблема:
- поплавок [] только наследует IList, а не IArray, и AFAIK нет никакого способа, чтобы изменить это.
- Я хотел бы канаву IArray и использовать только IList, но мои классы должны реализовать множество методов, как
Add
,RemoveAt
хотя они имеют фиксированный размер - И тогда у меня вопрос: как может плавать [осуществлять] IList в то время как не имеет этих методов?
Любые помощь приветствуется. Приветствия
Думаю, вы имеете в виду явное, неявное – Sekhat
@ Sekhat: действительно, я это сделал. Исправленный. – Richard
Хм, спасибо, вы узнали мне разницу между реализацией метода явного/неявного интерфейса. – Wam