Dobranie się do właściwości z JsonResult.Data

0

Mam metodę która zwraca JsonResult w formacie

a) { success = true, msg = "xx" }
b) { lista obiektów }

Chcę się dobrać do właściwości tych obiektów więc rzutuje na dynamic

dynamic jsonData = jsonResult.Data;

// W przypadku b)
jsonData.Data[0].Property // działa
// W przypadku a)
jsonData.success // nie działa
jsonData.Data.success // nie działa

Przypadek a) rzuca wyjątek, w którym mowa, że nie ma owej właściwości zdefiniowanej w obiekcie.
Sęk w tym, że jak podglądam za pomocą odpluskiwacza(:D) to są takie właściwości i ba mają nawet przypisane wartości wygląda to tak:

// zmienna : wartość : typ 
jsonData : " { success = true, ... } : annonymous type
      success : true : bool
      msg  : "xx" : string

No i moje pytania są takie

  1. Dlaczego przypadek a) nie działa a b) tak?
  2. Co zrobić by a) działał? Potrzebuje tego do testów jednostkowych ponieważ nie chcę do Assert.Equal wpisywać ręcznie treści tylko za pomocą zmiennych np. Assert.True(jsonData.success)

Wrzuciłem do projektu z testami [assembly: InternalsVisibleTo("Nazwa.Tests")] tak jak pisali na Internecie by działało ale nie działa ;|

0

Nikt nic?

1 użytkowników online, w tym zalogowanych: 0, gości: 1