Der Typ "string" muss ein null-Wert geben, um es zu verwenden als parameter " T "in der generischen Typ oder Methode" System.Nullable<T>'

public virtual int Fill(DataSetservices.Jobs_detailsDataTable dataTable, 
    global::System.Nullable<global::System.String> fromdate,     
    global::System.Nullable<global::System.DateTime> todate)

Schrieb ich obigen code in dataset.xsd in C#, aber es wirft einen Fehler:

Fehler 1

Der Typ "string" muss ein null-Wert geben, um
verwenden Sie als parameter " T " in der generischen Typ oder Methode
'System.Nullable'

Mir empfehlen wie die Verwendung von string, da möchte ich die Verwendung von string und sonst nichts

Verwenden Sie nur global::System.String fromDate.
Nicht verlängern die automatisch generierte designer.cs - Datei unter der xsd-Datei. Stattdessen erstellen Sie eine weitere Datei mit dem gleichen Namen(ohne designer) und verlängern Sie die TableAdapter Klassen mit den partial Schlüsselwort. Das funktioniert, da die automatisch generierten Klassen sind auch partial. Die designer.cs Datei wird neu erstellt werden, auf der nächsten änderung im designer und alle Ihre änderungen verloren.
Nullable<T> wird verwendet, um "amplify" eine Art, die nicht halten Sie die null Wert in einen Typ, der das tut. String ist schon ein Typ, der halt die null Wert. Daher können Sie nicht verwenden Sie die Kombination Nullable<string>. (Lesen Sie dazu Nullable<T> hier: msdn.microsoft.com/en-us/library/b3h38hb0.aspx). Kurz gesagt, nur drehen Sie Ihre Methode Prototyp in: public virtual int Fill((DataSetservices.Jobs_detailsDataTable dataTable, string fromdate, DateTime? todate);
Sie haben viele verschiedene Arten/namespaces aufgerufen System, Nullable, String, DateTime und so weiter, da Sie verwenden, dass viele global namespace-Aliase?

InformationsquelleAutor Pranav Mishra | 2013-09-17

Schreibe einen Kommentar