Typy anonimowe to typy danych, które dynamicznie dodają zestaw właściwości do pojedynczego obiektu bez konieczności uprzedniego jawnego definiowania typu
Czy możliwe jest, aby anonimowy typ zaimplementował interfejs? Mam kawałek kodu, który chciałbym pracować, ale nie wiem, jak to zrobić. Mam kilka odpowiedzi, które albo mówią „nie”, albo tworzę klasę, która implementuje interfejs, konstruuje nowe instancje tego. To nie jest naprawdę idealne, ale zastanawiam się, czy istnieje mechanizm do tworzenia …
W C # 3.0 możesz utworzyć anonimową klasę o następującej składni var o = new { Id = 1, Name = "Foo" }; Czy istnieje sposób na dodanie tych anonimowych klas do ogólnej listy? Przykład: var o = new { Id = 1, Name = "Foo" }; var o1 = …
Próbuję użyć następującego kodu do serializacji typu anonimowego do JSON: var serializer = new DataContractJsonSerializer(thing.GetType()); var ms = new MemoryStream(); serializer.WriteObject(ms, thing); var json = Encoding.Default.GetString(ms.ToArray()); Jednak pojawia się następujący wyjątek, gdy jest to wykonywane: Nie można serializować typu „<> f__AnonymousType1`3 [System.Int32, System.Int32, System.Object []]”. Rozważ oznaczenie go atrybutem DataContractAttribute …
Otrzymuję następujący błąd: „obiekt” nie zawiera definicji dla „RatingName” Kiedy patrzysz na anonimowy typ dynamiczny, wyraźnie ma on RatingName. Zdaję sobie sprawę, że mogę to zrobić za pomocą krotki, ale chciałbym zrozumieć, dlaczego pojawia się komunikat o błędzie.
Mam więc kolekcję przedmiotów. Dokładny typ nie jest ważny. Chcę z niego wyodrębnić wszystkie unikalne pary pary określonych właściwości, w ten sposób: myObjectCollection.Select(item=>new { Alpha = item.propOne, Bravo = item.propTwo } ).Distinct(); Więc moje pytanie brzmi: Will Distinct w tym przypadku użyje domyślnego obiektu równa się (co będzie dla mnie …
Jak mogę przekazać anonimowe typy jako parametry do innych funkcji? Rozważmy ten przykład: var query = from employee in employees select new { Name = employee.Name, Id = employee.Id }; LogEmployees(query); Zmienna querytutaj nie ma silnego typu. Jak zdefiniować LogEmployeesfunkcję, aby ją zaakceptować? public void LogEmployees (? list) { foreach …
Mam to: List<object> nodes = new List<object>(); nodes.Add( new { Checked = false, depth = 1, id = "div_" + d.Id }); ... i zastanawiam się, czy mogę wtedy pobrać właściwość „Checked” anonimowego obiektu. Nie jestem pewien, czy jest to w ogóle możliwe. Próbowałem to zrobić: if (nodes.Any(n => n["Checked"] …
Mam zapytanie, które zwraca typ anonimowy, a zapytanie jest w metodzie. Jak to piszesz: public "TheAnonymousType" TheMethod(SomeParameter) { using (MyDC TheDC = new MyDC()) { var TheQueryFromDB = (.... select new { SomeVariable = ...., AnotherVariable = ....} ).ToList(); return "TheAnonymousType"; } }
W języku C # 3.0 można utworzyć klasę anonimową z następującą składnią var o1 = new { Id = 1, Name = "Foo" }; Czy istnieje sposób na dynamiczne tworzenie tych anonimowych klas do zmiennej? Przykład: var o1 = new { Id = 1, Name = "Foo" }; var o2 …
Poniższy kod działa dobrze, o ile mam klasę ClassSameAssemblyw tym samym zestawie co klasa Program. Ale kiedy przenoszę klasę ClassSameAssemblydo oddzielnego zestawu, RuntimeBinderExceptionrzucany jest znak (patrz poniżej). Czy można to rozwiązać? using System; namespace ConsoleApplication2 { public static class ClassSameAssembly { public static dynamic GetValues() { return new { Name …
Po pierwsze, aby wyjaśnić sprawę, wyjaśnię mój scenariusz od góry: Mam metodę, która ma następujący podpis: public virtual void SendEmail(String from, List<String> recepients, Object model) To, co chcę zrobić, to wygenerować anonimowy obiekt, który ma właściwości obiektu modelu wraz z pierwszymi dwoma parametrami. Spłaszczenie obiektu modelu w PropertyInfo [] jest …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.