Entwickler-Ecke

Basistechnologien - Fehlermeldung bei LINQ-Zugriff (DataGridViewColumn/-Row)


Glowhollow - Fr 05.04.19 16:25
Titel: Fehlermeldung bei LINQ-Zugriff (DataGridViewColumn/-Row)
Huhu,

habe folgenden Code

C#-Quelltext
1:
2:
3:
4:
5:
6:
var headers = (from header in dgvallbookings.Columns.Cast<DataGridViewColumn>()
               select header.HeaderText).ToArray;

var rows = from row in dgvallbookings.Rows.Cast<DataGridViewRow>()
           where !row.IsNewRow
           select Array.ConvertAll(row.Cells.Cast<DataGridViewCell>().ToArray, c => c.Value != null;

Hier meckert er rum, das Queryable.Cast<TResult>(IQueryable) Methode ist und im angebenen Kontext ungültig ist.

Bei headers kriege ich "Methodengruppe" kann einer implizit typisierte Variable nicht zugewiesen werden ? (das versteh ich noch nicht so ganz)

und bei rows sagt er "das die Typargumente der Array.ConvertAll<TInput, TOutput>(TInput[], Converter<TInput, TOuput>) Methode nicht per Rückschluss aus der Syntax abgeleitet werden können".

Kann mir das mal jemand übersetzen ?


Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am Fr 05.04.2019 um 17:01
Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Moderiert von user profile iconTh69: Titel geändert (war "DataGridViewColumn Problem.").


Th69 - Fr 05.04.19 17:14

Als erstes fällt mir auf, daß bei rows eine runde Klammer zum Abschluss von ConvertAll fehlt (aber das wird wohl nur ein C&P-Fehler hier sein).
Und bei ToArray fehlen die runden Methodenklammern ganz: .ToArray() (daher wird dies als "Methodengruppe" angesehen, d.h. der Name der Methode(n) und nicht als Methodenaufruf).

Ansonsten (wenn noch mehr Fehler auftauchen):
Hast du

C#-Quelltext
1:
using Systm.Linq                    

eingebunden?