Por que posso aplicar um indexador a um ICollection no VB.Net, mas não em C #
Estava convertendo algum código de VB.Net para C #, quando me deparei com isso, em algum código usando a biblioteca Ionic Zip:
Dim zipEntry1 As ZipEntry = zipFile1.Entries(0)
Simples o suficiente:
ZipEntry zipEntry1 = zipFile1.Entries[0];
Eu recebo este erro em c #:
Não é possível aplicar a indexação com [] a uma expressão do tipo 'System.Collections.Generic.ICollection'
Ambos estão usando a mesma versão da DLL, em amboszipFile1.Entries
é um genéricoICollection
.
Eu testei o seguinte no VB.Net, e ele constrói com sucesso:
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
Isso não constrói:
using Ionic.Zip;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
var zipFile1 = ZipFile.Read(@"C:\test");
var zipEntry = zipFile1.Entries[0];
}
}
}
Por que isso acontece, e há uma maneira de contornar isso?