2016-07-30 3 views
1

Ich habe ein Stück Code hier:C# String in Listview hinzufügen, verursacht Fehler? So

dynamic getPoints = JsonConvert.DeserializeObject<dynamic>(Profile.Profile.Currency.ToString()); 
var Points = getPoints[1].amount; 
addItems(Username, Password, Points); 

addItems Void

info.Text = Username; 
info.SubItems.Add(Password); 
info.SubItems.Add(Points); 
listView1.Items.Add(info); 

Problem:

So, nachdem ich das nennen & es versucht addItems zu tun, dann ist dieser Fehler angezeigt:

The best overloaded method match for ProgramTest.Form1.addItems(string, string string) has some invalid arguments.

Wie könnte ich t lösen seine Frage?

Antwort

0

AddItems() nimmt keine dynamic. Lösung: Verwenden Sie nicht dynamic und konvertieren Sie Ihre JSON-Daten stattdessen ordnungsgemäß in echte Typen. Verwenden Sie JToken.Parse(). Zum Beispiel:

var json = JArray.Parse(Profile.Profile.Currency.ToString()); 
var Points = json[1].Value<string>("amount"); 
+0

Hey, ich habe versucht, google yeah, wie ohne Dynamik zu tun, leider habe ich keine Lösung gefunden. Im Moment erhalte ich diesen Fehler: http://prntscr.com/bzmfjl –

+0

Oh, dann verwenden Sie einen Array-Index. Ich habe meinen Code aktualisiert. – siride

+0

Oh Gott, ich vergaß Index (es) xD –

0

Eines oder mehrere Ihrer Argumente für addItems ist keine Zeichenfolge. Finden Sie heraus, welche sie sind, und fügen Sie ToString() zu den Parameternamen hinzu. Wenn dies zu einer falschen Formatierung führt, poste, was du bekommst, und wir werden versuchen, dir weiter zu helfen.

+0

Hmm, Hier einige Informationen: http://prntscr.com/bzmbt3 –

+0

ich mit int versucht, aber immer noch gleichen Fehler. –

+0

Veröffentlichen Sie die Signatur Ihrer addItems-Methode. –

Verwandte Themen