IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Převod kódu z javy do C# ( ? extends base)

Aktivity
Avatar
ondrejhartman:8.12.2014 23:50

Zdravím měl bych dotaz :) potřeboval bych jen převést jeden řádek kódu jedná se vlastně jen o public Collection<? extends Object) getObjects();.
Zatím to mám v c# jako List<Object> getObjects();.
Chtěl jsem se tedy zeptat, jestli to pak bude mít nějaký vliv na další běh programu a jestli by se tam to javovské ? extends... dalo nějak doplnit, nebo jestli to je jedno.
Díky :)

 
Odpovědět
8.12.2014 23:50
Avatar
Yahkem
Tvůrce
Avatar
Yahkem:9.12.2014 20:53

Na Javu nejsem expert, podle mě se ptáš na variantní typy u genericity a ty se v C# píšou takto:

interface ICovariant<out T>
interface IContravariant<in T>

Ale jak jsem to pochopil chceš to použít v návratovém typu metody, to C# nepodporuje (variance má jen interface a delegát)

Editováno 9.12.2014 20:54
 
Nahoru Odpovědět
9.12.2014 20:53
Avatar
Yahkem
Tvůrce
Avatar
Odpovídá na ondrejhartman
Yahkem:10.12.2014 8:28

Tak jsem na to podíval dnes ráno a myslím, že se to dá vyřešit pomocí generic type constraint:

public ICollection<T> getObjects<T>() where T : object
Editováno 10.12.2014 8:28
 
Nahoru Odpovědět
10.12.2014 8:28
Avatar
ondrejhartman:14.12.2014 22:49

Ano, chtěl jsem to udělat v interfacu a to opravdu nejde, děkuji za odpovědi :)

 
Nahoru Odpovědět
14.12.2014 22:49
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.