In C #: Warum kein 'Item' in System.Data.DataRow?

8

Ich schreibe / konvertiere etwas VB-Code:

%Vor%

C #:

%Vor%

Ich kann es nicht unter C # laufen lassen, die Probleme, die ich habe, ist die dritte Zeile var item = dr.Item["myItem"]; :

System.Data.DataRow' does not contain a definition for 'Item' and no extension method 'Item' accepting a first argument of type 'System.Data.DataRow' could be found (are you missing a using directive or an assembly reference?)

Ich habe System.Data Version 4 in beiden Projekten referenziert. Was fehlt mir hier? Hinweis: ItemArray existiert in beiden ...

    
sl3dg3 24.10.2011, 10:03
quelle

2 Antworten

20

Versuchen Sie es so:

%Vor%

In C # können Sie direkt auf die Indexer-Eigenschaft zugreifen. Und die Eigenschaft DataRow.Item ist als Indexer definiert.

    
Darin Dimitrov 24.10.2011, 10:05
quelle
1

In C # ist tatsächlich keine "Item" -Eigenschaft vorhanden. In VB ist der DataRow-Zellenzugriff wie folgt definiert:

%Vor%

Also gibt es eine literale "Item" -Eigenschaft. In C # ist es jedoch so definiert:

%Vor%

Dies ist also die Standardeigenschaft der Klasse / des Objekts. Sie greifen also mit dem Objektnamen darauf zu.

    
Pax 24.10.2017 22:36
quelle

Tags und Links