2013-12-15 10 views
17

Kiedy próbuję załadować coś do Imgur, muszę włożyć autoryzację. Robię to z WebRequest.Headers, ale daje mi to trzy błędy.Dlaczego otrzymuję CS1012: "Za dużo znaków literału" i CS0019?

2 razy error CS1012 błąd

Too many characters in character literal

i 1 raz CS0019:

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

Jest to kod:

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

Co zrobiłem źle, jak można to naprawić to i jak to działa? To jest przesyłanie z Imgurem, nie wiem, czy coś "GetToken" jest poprawne, ale chodzi o to, aby uzyskać AccessToken, który powinien działać poprawnie, jeśli mam rację.

Odpowiedz

58

Próbujesz użyć pojedynczych cudzysłowów dla literałów łańcuchowych - jest to nieważne w języku C#. Pojedyncze cudzysłowy mają postać znaków literowych (char). Do literałów ciągów potrzebujesz podwójnych cudzysłowów. Musisz również nawiasów do wywołania metody:

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

(Zauważ, że to nie ma nic wspólnego z Imgur lub WebRequest - to po prostu normalne C#).

Linki do wyjaśnienia MSDN z próbek:

+0

Oh! HEHE, rozumiem. Cholera Po prostu zobaczyłem to w innym wątku i zapomniałem, że miałem pojedyncze cytaty. Dziękuję, działa teraz. Teraz sprawdź, czy mogę go przesłać. – Stepepper

+0

@Stepepper: Warto zauważyć, że kompilator dał ci dwie wskazówki na ten temat ... zawsze czytaj uważnie komunikaty o błędach :) –

+0

@Stepepper - jedna inna podpowiedź - przejdź do okna błędu i kliknij F1 - otworzy się temat MSDN dla danego błąd. W tych artykułach często znajdują się próbki pokazujące najbardziej typowe przypadki błędu. –

Powiązane problemy