Jest to na przykład właściwość ViewBag klasy ControllerBase
i możemy dynamicznie pobierać/ustawiać wartości i dodawać dowolną liczbę dodatkowych pól lub właściwości do tego obiektu, co jest fajne. Chcę użyć czegoś takiego poza aplikacją MVC i Controller
klasa w innych typach aplikacji. Kiedy próbowałem tworzyć dynamic obiekt i ustaw jego właściwość jak poniżej:Jak utworzyć własny typ dynamiczny lub obiekt dynamiczny w języku C#?
1. dynamic MyDynamic = new { A="a" };
2. MyDynamic.A = "asd";
3. Console.WriteLine(MyDynamic.A);
Mam RuntimeBinderException
z komunikatem Nieruchomość lub indekser „<> f__AnonymousType0.A” nie może być przypisany do - to jest tylko czytać w linii 2. Sugeruję również, że nie jest to dokładnie to, czego szukam. Może jest jakaś klasa, która może pozwolić mi na zrobienie czegoś takiego:
z dynamicznymi właściwościami dodawania i ustawiania.
proszę głosować na tej funkcji w Visual Studio [UserVoice] (https: //visualstudio.uservoice. com/forums/121579-visual-studio/suggestions/7062098-support-object-initializers-on-expandoobjects). – orad