Kezdőoldal » Számítástechnika » Programozás » C#-ban hogyan írjak olyan...

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?
2012. szept. 20. 14:16
Hasznos számodra ez a válasz?
 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.

2012. szept. 20. 14:58
Hasznos számodra ez a válasz?
 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.

2012. szept. 21. 12:12
Hasznos számodra ez a válasz?

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!