Pytania otagowane jako generics

Generics to forma parametrycznego polimorfizmu występująca w wielu językach, w tym w językach .NET, Java, Swift i Rust.




8
Java generics T vs Object
Zastanawiałem się, jaka jest różnica między następującymi dwiema deklaracjami metod: public Object doSomething(Object obj) {....} public <T> T doSomething(T t) {....} Czy jest coś, co możesz / chciałbyś zrobić z jednym, ale nie z drugim? Nie mogłem znaleźć tego pytania w innym miejscu na tej stronie.
127 java  generics 

5
Dlaczego w Go nie ma leków generycznych?
Zastrzeżenie: grałem w Go tylko przez jeden dzień, więc jest duża szansa, że ​​wiele przegapiłem. Czy ktoś wie, dlaczego w Go nie ma prawdziwego wsparcia dla typów ogólnych / szablonów / whatsInAName? Jest więc rodzaj ogólny map, który jest dostarczany przez kompilator, podczas gdy programista Go nie może napisać własnej …


5
Konwencja nazewnictwa parametrów typu ogólnego dla języka Java (z wieloma znakami)?
W niektórych interfejsach, które napisałem, chciałbym nazwać parametry typu ogólnego z więcej niż jednym znakiem, aby kod był bardziej czytelny. Coś jak.... Map<Key,Value> Zamiast tego... Map<K,V> Ale jeśli chodzi o metody, parametry typu wyglądają jak klasy java, co również jest mylące. public void put(Key key, Value value) Wygląda na to, …

6
Jak zaimplementować IEnumerable <T>
Wiem, jak zaimplementować nieogólne IEnumerable, na przykład: using System; using System.Collections; namespace ConsoleApplication33 { class Program { static void Main(string[] args) { MyObjects myObjects = new MyObjects(); myObjects[0] = new MyObject() { Foo = "Hello", Bar = 1 }; myObjects[1] = new MyObject() { Foo = "World", Bar = 2 …
124 c#  .net  generics 

2
Co oznacza „Protokół… może być używany tylko jako ogólne ograniczenie, ponieważ ma własne lub związane z nim wymagania”?
Próbuję utworzyć słownik (właściwie HashSet ) z kluczem niestandardowym w Swift, ale w tytule pojawia się błąd: Protokół „myProtocol” może być używany tylko jako ograniczenie ogólne, ponieważ ma wymagania typu Self lub powiązane i nie mogę zrobić z tego głów ani ogonów. protocol Observing: Hashable { } var observers = …

8
Kiedy używać metod ogólnych, a kiedy używać symboli wieloznacznych?
Czytam o metodach ogólnych z OracleDocGenericMethod . Jestem dość zdezorientowany porównaniem, kiedy mówi, kiedy użyć symboli wieloznacznych, a kiedy metod ogólnych. Cytat z dokumentu. interface Collection&lt;E&gt; { public boolean containsAll(Collection&lt;?&gt; c); public boolean addAll(Collection&lt;? extends E&gt; c); } Mogliśmy zamiast tego użyć metod ogólnych: interface Collection&lt;E&gt; { public &lt;T&gt; boolean …
122 java  generics  wildcard 

11
Dlaczego nie mogę użyć wartości zmiennoprzecinkowej jako parametru szablonu?
Kiedy próbuję użyć floatjako parametru szablonu, kompilator woła o ten kod, podczas gdy intdziała dobrze. Czy to dlatego, że nie mogę użyć floatjako parametru szablonu? #include&lt;iostream&gt; using namespace std; template &lt;class T, T defaultValue&gt; class GenericClass { private: T value; public: GenericClass() { value = defaultValue; } T returnVal() { …

5
Używanie pola obiektu jako ogólnego klucza Dictionary
Jeśli chcę używać obiektów jako kluczy dla a Dictionary, jakie metody będę musiał przesłonić, aby porównać je w określony sposób? Powiedzmy, że mam klasę, która ma właściwości: class Foo { public string Name { get; set; } public int FooID { get; set; } // elided } I chcę stworzyć: …


4
Dziedzicz z ogólnej klasy bazowej, zastosuj ograniczenie i zaimplementuj interfejs w języku C #
To jest pytanie dotyczące składni. Mam klasę ogólną, która dziedziczy z ogólnej klasy bazowej i stosuje ograniczenie do jednego z parametrów typu. Chcę również, aby klasa pochodna implementowała interfejs. Za całe życie nie potrafię znaleźć właściwej składni. Oto co mam: DerivedFoo&lt;T1,T2&gt; : ParentFoo&lt;T1, T2&gt; where T2 : IBar { ... …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.