Klein technisch probleempje, ik heb de volgende dictionary:
Die FileStatus is een class die ik gemaakt heb. Die class laat zich casten naar een string:
Nu wil ik alle FileStatus objecten gecast naar een string in een array hebben, dus dacht ik aan zoiets:
Offeh, zoiets:
Maar die geven allebei helaas een InvalidCastException. Toch gek, want een FileStatus laat zich wel gewoon casten naar een string. Ok, die tweede is misschien een beetje bizar, omdat Dictionary<string, FileStatus>.Values gewoon de IEnumerable<string> interface niet implementeert, dus daarvan verwachtte ik ook niet dat ie zou werken
En of ik die cast-operator nou implicit of explicit declareer, maakt ook niets uit. Gaat er dus toch ergens anders iets mis, maar waar? Iemand?
C#:
1
2
| Dictionary<string, FileStatus> dic = new Dictionary<string, FileStatus>(); //Dictionary vullen... |
Die FileStatus is een class die ik gemaakt heb. Die class laat zich casten naar een string:
C#:
1
2
3
| public static explicit operator string(FileStatus source) { return source.Filename; } |
Nu wil ik alle FileStatus objecten gecast naar een string in een array hebben, dus dacht ik aan zoiets:
C#:
1
| string[] files = (string[]) new ArrayList(dic.Values).ToArray(typeof(string)); |
Offeh, zoiets:
C#:
1
2
3
| string[] files = new List<string>( (IEnumerable<string>) (IEnumerable) filenames.Values ).ToArray(); |
Maar die geven allebei helaas een InvalidCastException. Toch gek, want een FileStatus laat zich wel gewoon casten naar een string. Ok, die tweede is misschien een beetje bizar, omdat Dictionary<string, FileStatus>.Values gewoon de IEnumerable<string> interface niet implementeert, dus daarvan verwachtte ik ook niet dat ie zou werken
En of ik die cast-operator nou implicit of explicit declareer, maakt ook niets uit. Gaat er dus toch ergens anders iets mis, maar waar? Iemand?
[ Voor 19% gewijzigd door _Thanatos_ op 25-02-2006 17:11 ]
日本!🎌