Funkce s neznamym datovym typem – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Funkce s neznamym datovym typem – .NET – Fórum – Programujte.comFunkce s neznamym datovym typem – .NET – Fórum – Programujte.com

 

21884915186184189419156
~ Anonymní uživatel
3 příspěvky
7. 5. 2018   #1
-
0
-

Ahoj,

mam otazku, delam uklid a napadlo me, udelat si funkce na nejpouzivanejsi funkce,

problem mam v tom, ze mam funkci, ktere budu predavat data,

nevim, ale jakeho typu ty data budou (datovy typ se bude menit, funkci chci univerzalni),

potrebuji ale funkci predat i datovy typ.

Public Sub Writer(Type As System.Type, Data As System.Type, DataPath As String)

uvnitr funkce uz datovy typ znam, protoze je v promenne Type, ale v deklaraci funkce ji jeste neznam, mam to resit jak to mam vyse, ze bude promenna Data v deklaraci funkce jako datovy typ system.type (pripadne je lepsi object)?

Nebo je i lepsi reseni, ktere me napapadlo?

Dekuji moc

Nahlásit jako SPAM
IP: 82.144.139.–
JardaJirava0
Stálý člen
7. 5. 2018   #2
-
0
-

Ahoj,

  nevim, jake budes chtit pouzivat univerzalni funkce a co s temi daty budes chtit delat, ale muzes pouzit generika.

  Tvuj zapis je ve VB, tak snad to prectes v C# (ve VB.NET je to neco jako Of T)

public void Writer<T>(T data, string dataPath) {
  
}

  Pekny den,

Nahlásit jako SPAM
IP: 77.78.85.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
21884915186184189419156
~ Anonymní uživatel
3 příspěvky
7. 5. 2018   #3
-
0
-

#2 JardaJirava
Ahoj,

dekuji za odpoved,

ve VB je to takhle:

Public Sub Writer(Of T)(ByVal data As T, ByVal dataPath As String)
End Sub

vyzkousim to a dam vedet.

Funkce bude ukladat ruzne moje serializovane objekty do databazy.

Roman

Nahlásit jako SPAM
IP: 82.144.139.–
21884915186184189419156
~ Anonymní uživatel
3 příspěvky
7. 5. 2018   #4
-
0
-

#2 JardaJirava

Ahoj,

tak ono to tak hezky, jak jsem si vymylel asi nepujde,

puvodne mi slo o to, ze mam vlastni objekty, ktere maji i funkce na nacteni, editaci´, odstraneni a v nich se opakuje kod nacteni z DB a ulozeni.

Z toho opakujiciho kodu jsem chtel udelat funkci, neco jako nacti a uloz, abych ji u kazdeho objektu nemusel opakovat, jen pro jiny objekt.

Jenze jsem tez zjistil, ze kdyz tu funnkci na nacteni a ulozeni udelam univerzalne, nemuzu pouzit funkci daného objektu, jelikoz ve funkci je tento objekt jeste neznamy.

Mate napad, jak tohle vyresit?

Nahlásit jako SPAM
IP: 82.144.139.–
JardaJirava0
Stálý člen
7. 5. 2018   #5
-
0
-

#4 21884915186184189419156
Ahoj,

  jestli znas, jakeho typu - generickeho typu - ma dany objekt byt, tak muzes pouzit konstrukci Of T As Typ.

  Pokud tedy tvoje objekty pouzivaji treba spolecny interface IMyInterface, tak muzes pouzit zapis

Public Sub Writer(Of T As IMyInterface)(ByVal data As T, ByVal path As String)
  data.MetodaZInterfac()
End Sub

  Pekny den,

Nahlásit jako SPAM
IP: 213.192.30.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 28 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý