Używam serializatora Json i muszę powiązać z nazwą właściwości o nazwie "zdarzenie" Oczywiście zdarzenie jest słowem kluczowym w języku C#, więc robienie czegoś takiego jak string event { get; set; }
jest niedozwolone. Czy jest tak, aby to zrobić? Nie mogę zmienić nazwy obiektu, który do mnie wraca.C# Właściwość nazwany zdarzenie
Odpowiedz
Zakładając, że używasz Json.NET, można użyć JsonProperty
attribute, lub @
symbol lub z ContractResolver
(jest wbudowany w jednym, które sprawia, że rzeczy CamelCase, więc nazwa własnością Event
by do serializacji event
).
[JsonProperty("event")]
public string Event { get; set; }
public string @event { get; set; }
public string Event { get; set; }
var s = JsonConvert.SerializeObject(myObj, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() });
Zastosowanie @ używać keywords as identifiers
string @event { get; set; }
Przedrostek „@” umożliwia stosowanie słów kluczowych jako identyfikatory, które jest przydatnych podczas łączenia z innymi językami programowania. [...] Identyfikator z prefiksem @ jest nazywany pełnym identyfikatorem. Używanie prefiksu @ do identyfikatorów, które nie są słowami kluczowymi jest dozwolone, ale jest zdecydowanie odradzane ze względu na styl.
Dokładnie tego szukałem! – KJ3
- 1. Zdarzenie wyłączenia ekranu lub właściwość na iPhonie
- 2. C# CodeDom Automatyczna właściwość
- 3. C# dynamicznie ustawić właściwość
- 4. C# UserControl Widoczna właściwość
- 5. Zmienna abstrakcyjna/właściwość? C#
- 6. C#: Podnoszenie odziedziczony zdarzenie
- 7. Nazwany List do/z Data.Frame
- 8. Nazwany kwerendy nie wiadomo
- 9. żaden moduł nazwany filterspecs
- 10. TortoiseHG: Zamknij nazwany oddział
- 11. Nazwany semafor lub stado, które jest lepsze C linux
- 12. Jak wygenerować losowy nazwany plik tekstowy w języku C#?
- 13. Właściwość statyczna w C# 6
- 14. Właściwość chroniona C# lub pole
- 15. C# Stenografia skrócona Właściwość Pytanie
- 16. właściwość dostępu PSObject nazwy C#
- 17. Jak mogę złapać zdarzenie ctrl-c? (C++)
- 18. Hibernate Nazwany Zapytanie Zamówienie parametrem
- 19. pyton "No moduł nazwany appengine.ext"
- 20. Korzystanie hibernacji nazwany parametr dwukrotnie
- 21. Nazwany eksport vs eksportowania obiektu
- 22. Konwersja Nazwany charakter wektora do data.frame
- 23. Przechodząc właściwość jako parametr „out” w C#
- 24. Właściwość Objective-C i logika syntezy
- 25. C# Cookie - Właściwość Expires nie zostanie ustawiona.
- 26. C# UserControl Widoczna właściwość niezmieniająca się
- 27. Czy właściwość C# może przyjmować wiele wartości?
- 28. C# nie można ustawić właściwość wewnątrz IEnumerable
- 29. C# Automapper Ignoruj właściwość po Null
- 30. Jak zrobić właściwość wymagane w języku C#?
+1 dla 'JsonProperty', która unika potrzeby błądzenia z' @ 'ing everything. Oczywiście, zawsze będzie jedna biedna dusza, która będzie musiała pisać w VB, więc "Wydarzenie" jest również dla nich niedostępne i muszą napisać "[Wydarzenie]", aby obejść to, a zatem będą narzekać, że powinien zupełnie użyć innego słowa. – ClickRick