2013-12-15 7 views
17

Quando provo a caricare qualcosa su Imgur, devo inserire un'autorizzazione. Lo faccio con WebRequest.Headers ma mi dà tre errori.Perché sto ricevendo CS1012: "Troppi caratteri in caratteri letterali" e CS0019?

2 volte di errore CS1012 errore

Too many characters in character literal

e 1 volta CS0019:

Operator '+' cannot be applied to operands of type 'char' and 'method group'

Questo è il codice:

webRequest.Headers['Authorization'] = 'Bearer ' + GetToken; 

Che cosa ho fatto di male, come posso risolvere e come funziona? Questo sta caricando con Imgur, non so se la cosa 'GetToken' è giusta ma è per ottenere l'AccessToken, che dovrebbe funzionare correttamente se ho ragione.

risposta

58

Si sta tentando di utilizzare le virgolette singole per i valori letterali stringa - che non è valido in C#. Le virgolette singole sono per i valori letterali (char). Hai bisogno di virgolette per i letterali stringa. È inoltre necessario parentesi per una chiamata di metodo:

webRequest.Headers["Authorization"] = "Bearer " + GetToken(); 

(Si noti che questo non ha nulla a che fare con Imgur o WebRequest - è solo normale C#.)

collegamenti a spiegazioni MSDN con i campioni:

+0

Oh! HEHE, vedo. Dannazione, l'ho appena visto in un altro thread e ho dimenticato di avere citazioni singole. Grazie, ora funziona. Ora vedi se riesco a caricarlo. – Stepepper

+0

@Stepepper: Vale la pena notare che il compilatore ti ha dato due suggerimenti su questo ... leggi sempre attentamente i messaggi di errore :) –

+0

@Stepepper - un altro suggerimento - vai alla finestra di errore e fai clic su F1 - si aprirà l'argomento MSDN per un dato errore. Questi articoli hanno spesso esempi che mostrano i casi più tipici dell'errore. –