Я никогда не делал коллекцию раньше.Я попытался найти решения в Интернете, а также с тем, что они должны были добавить для работы интерфейсов.
Я добавил все, что мог найти в Интернете.
public class RecipeObjectCollection : ICollection<RecipeObject>, IList<RecipeObject>, IEnumerable<RecipeObject>, IEnumerable, IList, ICollection
{
public struct Enumerator : IEnumerator<RecipeObject>, IDisposable, IEnumerator
{
private RecipeObjectCollection collection;
private RecipeObject current;
private int next;
private readonly int version;
public RecipeObject Current => this.current;
...
Я, очевидно, могне помещать все в пример кода, но в остальной части кода есть только унаследованные функции или методы.
Все работало без забот, за исключением того, что я заметил, что, когда я заканчивал заполнять свою коллекцию, был цикл в ICollection.Count и IList.this [int index]
object IList.this[int index]
{
get
{
return this[index];
}
set
{
this.CheckIndex(index);
try
{
this[index] = (RecipeObject)((object)value);
return;
}
catch (InvalidCastException) { }
catch (NullReferenceException) { }
throw new ArgumentException();
}
}
int ICollection.Count
{
get
{
return this.Count;
}
}
В режиме отладки я не выяснил, почему этот цикл запускается и как или если оностанавливается одновременно.Моя программа работает очень хорошо, несмотря на этот цикл.Я не знаю, нормально ли это, даже если я в этом сомневаюсь.
Я могу добавить код или что-нибудь еще, если ему не хватает того, на что можно дать ответ или хотя бы подсказку.