C#-ban hogyan írjak olyan metódust, aminek a hívástól függ, hogy milyen típusu értékkel tér vissza?
Figyelt kérdés
Gondolom valahogy a generikus típusokhoz van köze, de online csak olyat találtam, hogy a bemeneti paraméter már, a kijövőt már nem tudom átállítani.2012. szept. 20. 14:10
1/4 _Jessy_ válasza:
Ez kicsit kusza. Leírnád mit értesz az alatt, hogy különböző módon hívod meg ugyanazt a függvényt?
2/4 A kérdező kommentje:
Lényeg, hogy valamilyen paraméter alapján akarom eldönteni, hogy milyen típusu értékkel tér vissza.
2012. szept. 20. 14:50
3/4 _Jessy_ válasza:
Egy példa:
public class Stack<T>
{
T[] m_Items;
public void Push(T item)
{...}
public T Pop()
{...}
}
Stack<int> stack = new Stack<int>();
stack.Push(1);
stack.Push(2);
int number = stack.Pop();
jelen esetben a Pop() visszatérési értéke int lesz, de azt az osztály példányosításánál kell megadni, hogy mi legyen.
4/4 Pj0tr válasza:
Generikus metódusnak hívják.
Pl:
public interface IInterface
{
void Vmi();
}
protected T SomeMethod<T,K>(K i)
where T : class
where K : IInterface
{
i.Vmi();
return default(T);
}
Itt a függvényben definiálod a generikus típusokat, de minden ugyanolyan, mint az osztályok/struktúrák esetén.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!