[Mono-dev] System.Collections.Generic.Dictionary.CopyTo inaccessible due to protection level
Antti S. Lankila
alankila at bel.fi
Sun Nov 25 08:09:40 EST 2007
Valentin Sawadski wrote:
> It explicitly implements copy to in line 643 and 653. So CopyTo is
> publicly available. If you refer to the CopyTo at line 275, this is
> being called by the explicit implementation of it.
>
*Sigh*. Let this test program demonstrate:
alankila at zeus:~/mono-hacks% gmcs bug.cs -o bug.exe
warning CS8029: Compatibility: Use -out:FILE instead of --output FILE or
-o FILE
bug.cs(9,11): error CS0122:
`System.Collections.Generic.Dictionary<string,object>.CopyTo(System.Collections.Generic.KeyValuePair<string,object>[],
int)' is inaccessible due to its protection level
/usr/lib/mono/2.0/mscorlib.dll (Location of the symbol related to
previous error)
Compilation failed: 1 error(s), 1 warnings
zsh: exit 1 gmcs bug.cs -o bug.exe
alankila at zeus:~/mono-hacks% cat bug.cs
using System;
using System.Collections.Generic;
class proggie {
public static void Main(string[] args) {
Dictionary<string,object> x = new Dictionary<string, object>();
x["this"] = 0;
KeyValuePair<string,object>[] y = new
KeyValuePair<string,object>[1];
x.CopyTo(y, 0);
Console.WriteLine("woohoo, copied {0} => {1}!", y[0].Key,
y[0].Value);
}
}
But on my SVN version of mono, I have added the public modifier and the
code becomes suddenly runnable.
--
Antti
More information about the Mono-devel-list
mailing list