https://bugzilla.novell.com/show_bug.cgi?id=643379
https://bugzilla.novell.com/show_bug.cgi?id=643379#c0 Summary: NameValueConfigurationCollection.AllKeys uses contravariant array cast Classification: Mono Product: Mono: Class Libraries Version: SVN Platform: x86-64 OS/Version: Ubuntu Status: NEW Severity: Normal Priority: P5 - None Component: System AssignedTo: mono-bugs@lists.ximian.com ReportedBy: nov...@meinersbur.de QAContact: mono-bugs@lists.ximian.com Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.10) Gecko/20100915 Ubuntu/10.04 (lucid) Firefox/3.6.10 The property System.Configuration.NameValueConfigurationCollection.AllKeys always throws InvalidCastException. Example program: using System.Configuration; class Test { public static void Main(string[] arg) { var conf = new NameValueConfigurationCollection(); var dummy = conf.AllKeys; } } Reproducible: Always Steps to Reproduce: 1. gmcs test.cs -r:System.Configuration 2. mono Test.exe Actual Results: System.InvalidCastException: Cannot cast from source type to destination type. Expected Results: Program ends without exception Error is in NameValueConfigurationCollection.cs: public string[] AllKeys { get { return (string[]) BaseGetAllKeys(); } } where BaseGetAllKeys() returns an object[]. Since arrays in C# are covariant, but not contravariant, this throws an InvalidCastException. Using latest git checkout (2nd Oct) on Ubuntu Lucid. Changing to public string[] AllKeys { get { object[] objArr = BaseGetAllKeys(); string[] result = new string[objArr.Length]; for (int i=0; i<objArr.Length-1; i++) result[i] = objArr[i].ToString(); return result; } } yields the expected result. This might not be the best implementation. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - mono-bugs@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-bugs