Mam fasolę, Item<T>która jest wymagana do autoprzewodowania w @Configurationklasie. @Configuration public class AppConfig { @Bean public Item<String> stringItem() { return new StringItem(); } @Bean public Item<Integer> integerItem() { return new IntegerItem(); } } Ale kiedy próbuję @Autowire Item<String>, otrzymuję następujący wyjątek. "No qualifying bean of type [Item] is defined: expected …
Jaki jest najbardziej efektywny sposób zamiany listy wartości ze słownika na tablicę? Na przykład, jeśli mam Dictionarygdzie Keyjest Stringi Valuejest Foo, chcę dostaćFoo[] Używam VS 2005, C # 2.0
Mam kilka List<>niestandardowych obiektów. Muszę znaleźć obiekt na tej liście według jakiejś unikalnej właściwości i zaktualizować inną właściwość tego obiektu. Jak to zrobić najszybciej?
Próbuję znaleźć sposób na iterację wartości wyliczenia podczas korzystania z typów ogólnych. Nie wiem, jak to zrobić lub czy jest to możliwe. Poniższy kod ilustruje to, co chcę zrobić. Zauważ, że kod T.values () nie jest prawidłowy w poniższym kodzie. public class Filter<T> { private List<T> availableOptions = new ArrayList<T>(); …
Jak porównać wartości typów ogólnych? Zredukowałem to do minimalnej próbki: public class Foo<T> where T : IComparable { private T _minimumValue = default(T); public bool IsInRange(T value) { return (value >= _minimumValue); // <-- Error here } } Błąd: Operator „> =” nie może być stosowany do operandów typu „T” …
Czy można w C # zdefiniować taką klasę, że class GenericCollection<T> : SomeBaseCollection<T> where T : Delegate Za całe życie nie mogłem tego zrobić wczoraj w .NET 3.5. Próbowałem użyć delegate, Delegate, Action<T> and Func<T, T> Wydaje mi się, że powinno to być w jakiś sposób dopuszczalne. Próbuję zaimplementować własną …
Mam tło VB i przechodzę do C # dla mojej nowej pracy. Generalnie staram się też polepszyć .NET. Widziałem słowo kluczowe „T” często używane w próbkach, które ludzie publikują. Co oznacza „T” w języku C #? Na przykład: public class SomeBase<T> where T : SomeBase<T>, new() Co robi T? Dlaczego …
Użyte odwołanie do metody ma typ zwracany Integer. Jednak niezgodność Stringjest dozwolona w poniższym przykładzie. Jak naprawić withdeklarację metody, aby uzyskać bezpieczny typ referencyjny metody bez ręcznego rzutowania? import java.util.function.Function; public class MinimalExample { static public class Builder<T> { final Class<T> clazz; Builder(Class<T> clazz) { this.clazz = clazz; } static …
Chciałbym wyłapać wszystkie warianty ogólnej klasy wyjątków i zastanawiałem się, czy można to zrobić bez wielu bloków wyłapywania. Powiedzmy na przykład, że mam klasę wyjątków: public class MyException<T> : Exception { public string MyProperty { get; } public MyException(T prop) : base(prop.ToString()) { MyProperty = prop?.ToString(); } } oraz dwie …
Dlaczego jest public <R, F extends Function<T, R>> Builder<T> withX(F getter, R returnValue) {...} bardziej rygorystyczne public <R> Builder<T> with(Function<T, R> getter, R returnValue) {...} Jest to kontynuacja Dlaczego nie jest sprawdzany typ zwrotu lambda w czasie kompilacji . Znalazłem metodę withX()podobną .withX(MyInterface::getLength, "I am not a Long") produkuje żądany …
Rozważ następujące dwie klasy i interfejs: public class Class1 {} public class Class2 {} public interface Interface1 {} Dlaczego drugie wywołanie mandatorywywołuje przeciążoną metodę Class2, jeśli getInterface1i Interface1nie ma związku z Class2? public class Test { public static void main(String[] args) { Class1 class1 = getClass1(); Interface1 interface1 = getInterface1(); …
Mam problem z odniesieniem do metody w połączeniu z typami rodzajowymi. Mamy kod, w którym musimy wywołać przeciążoną metodę, ale błąd kończy się niepowodzeniem: Nie można rozwiązać wartości m1 () Uprościłem swój problem, aby wyjaśnić, gdzie leży problem. Następujący kod kończy się niepowodzeniem: public class Test { void test() { …
Mam bibliotekę, która eksportuje typ narzędzia podobny do następującego: type Action<Model extends object> = (data: State<Model>) => State<Model>; Ten typ narzędzia pozwala zadeklarować funkcję, która będzie działać jako „akcja”. Otrzymuje ogólny argument, Modelże akcja będzie działać. dataArgument „akcji” jest następnie wpisywane z innego typu użytkowego że eksport; type State<Model extends …
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.