Jak mogę to osiągnąć? public class GenericClass<T> { public Type getMyType() { //How do I return the type of T? } } Wszystko, czego do tej pory próbowałem, zawsze zwraca typ, Objecta nie określony typ.
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 7 miesięcy temu . Czy ktoś może mi wyjaśnić, dlaczego chciałbym użyć IList zamiast listy w C …
Szukam lepszego wzorca do pracy z listą elementów, które każdy musi przetworzyć, a następnie w zależności od wyniku zostaną usunięte z listy. Nie możesz używać .Remove(element)wewnątrz foreach (var element in X)(ponieważ powoduje to Collection was modified; enumeration operation may not execute.wyjątek) ... nie możesz także używać for (int i = …
Operator diamentów w java 7 zezwala na kod podobny do następującego: List<String> list = new LinkedList<>(); Jednak w Javie 5/6 mogę po prostu napisać: List<String> list = new LinkedList(); Rozumiem, że typ kasowania jest taki sam. (Generic i tak zostaje usunięty w czasie wykonywania). Po co w ogóle zawracać sobie …
Używam C # na Framework 3.5. Chcę szybko posortować ogólny List<T>. Na potrzeby tego przykładu załóżmy, że mam listę Persontypu z właściwością nazwiska. Jak posortować tę listę za pomocą wyrażenia lambda? List<Person> people = PopulateList(); people.OrderBy(???? => ?????)
Chcę przenieść obiekt listy za pośrednictwem Google Gson, ale nie wiem, jak dokonać deserializacji typów ogólnych. Co próbowałem po obejrzeniu tego (odpowiedź BalusC): MyClass mc = new Gson().fromJson(result, new List<MyClass>(){}.getClass()); ale wtedy pojawia się błąd w zaćmieniu, mówiąc: „Typ new List () {} musi implementować odziedziczoną metodę abstrakcyjną ...” i …
Rozumiem, że dzieje się tak w przypadku Java 7, gdy używa się varargs z typem ogólnym; Ale moje pytanie brzmi ... Co dokładnie oznacza Eclipse, gdy mówi „jego użycie może potencjalnie zanieczyścić stertę?” I W jaki sposób nowa @SafeVarargsadnotacja temu zapobiega?
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 = …
Podczas dodawania do listy próbuję utworzyć nowy obiekt typu T za pomocą jego konstruktora. Otrzymuję błąd kompilacji: Komunikat o błędzie to: „T”: nie można podać argumentów podczas tworzenia instancji zmiennej Ale moje klasy mają argument konstruktorski! Jak mogę to zrobić? public static string GetAllItems<T>(...) where T : new() { ... …
Jakie są przyczyny decyzji o braku w pełni ogólnej metody get w interfejsie java.util.Map<K, V>. Aby wyjaśnić pytanie, podpisem metody jest V get(Object key) zamiast V get(K key) i zastanawiam się, dlaczego (to samo remove, containsKey, containsValue).
Chcę mieć obiekt klasy, ale chcę wymusić dowolną reprezentowaną przez niego klasę, aby rozszerzyć klasę A i wdrożyć interfejs B. Potrafię: Class<? extends ClassA> Lub: Class<? extends InterfaceB> ale nie mogę zrobić obu. Czy jest na to sposób?
Dlaczego posiadanie następujących dwóch metod w tej samej klasie jest niezgodne z prawem? class Test{ void add(Set<Integer> ii){} void add(Set<String> ss){} } Rozumiem compilation error Metoda add (Set) ma to samo dodanie kasowania (Set), co inna metoda w teście typu. chociaż mogę sobie z tym poradzić, zastanawiałem się, dlaczego javac …
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.