Почему я могу применить индексатор к ICollection в VB.Net, но не в C #

Конвертировал некоторый код из VB.Net в C #, когда я сталкивался с этим, в некоторый код, используя библиотеку Ionic Zip:

Dim zipEntry1 As ZipEntry = zipFile1.Entries(0)

Достаточно просто:

ZipEntry zipEntry1 = zipFile1.Entries[0];

Я получаю эту ошибку на C #:

Невозможно применить индексирование с помощью [] к выражению типа 'System.Collections.Generic.ICollection»

Оба используют одну и ту же версию DLL, на обоихzipFile1.Entries является общим.ICollection

Я проверил ниже на VB.Net, и он успешно собирается:

Option Strict On
Option Explicit On

Imports Ionic.Zip

Module Module1

    Sub Main()

        Dim zipFile1 = ZipFile.Read("C:\test")
        Dim zipEntry = zipFile1.Entries(0)

    End Sub

End Module

Это не построить:

using Ionic.Zip;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var zipFile1 = ZipFile.Read(@"C:\test");
            var zipEntry = zipFile1.Entries[0];
        }
    }
}

Почему это происходит, и есть ли способ обойти это?

Ответы на вопрос(3)

Ваш ответ на вопрос