Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Returtyp

Postades av 2005-05-09 13:38:42 - Tomas Andersson, i forum asp.net generellt, Tråden har 18 Kommentarer och lästs av 469 personer

Hej!
Jag är lite osäker på en sak...
Är det möjligt att göra en function som har olika returtyper (tror inte det är möjligt, i varje fall inte med option strict on)
Jag vill ha en function som returnerar antingen en integer eller en string beroende på vad ett visst objekt innehåller.

/Tomas


Svara

Sv: Returtyp

Postades av 2005-05-09 13:52:56 - Per Hultqvist

Om jag minns rätt så tillåter MSIL detta i teorin, men inga av de vanliga programspråken (VB.Net, C#) tillåter detta. En funktions signatur består alltså endast av funktionsnamnet plus argumenten, och denna signatur måste vara unik.


Svara

Sv: Returtyp

Postades av 2005-05-09 13:59:33 - Björn Österman

Du kan ju alltid returnera "object".


Svara

Sv:Returtyp

Postades av 2005-05-09 14:05:21 - Per Hultqvist

I ramverket (t ex Convert-klassen) så har man ju löst det genom att döpa funktionerna till ToXXX() där XXX är datatypen. T ex ToInt32, ToString o s v...


Svara

Sv: Returtyp

Postades av 2005-05-09 14:13:28 - Andreas Håkansson

Tomas,

Måste säga att det låter som ett designfel.. om du beskriver lite mer vad du gör så kanske vi kan hitta en lämpligare design på din kod.


Svara

Sv:Returtyp

Postades av 2005-05-09 14:31:04 - Johan Svensson

Hej,

Jag tycker det snarare låter som om det handlar om överlagring. Nu har jag inte kommit igång så långt på .Net plattformen så jag vet hur man gör överlagring där, men jag kan förklara det i klassisk C++ (men det har du nog ingen nytta av). Så antingen kolla upp överlagring i hjälpen eller webben, alternativt så be någon komma med ett .Net exempel.

En snikvariant annars är att skicka data som Variant... (nu kommer jag få många hatmejl).

// Johan


Svara

Sv: Returtyp

Postades av 2005-05-09 14:32:04 - Andreas Håkansson

Johan,

Du kan inte överlagra på returvärde + att tomas vill villkorsbaserat returnera olika saker. Och Variant är en VBScript sak, i VB.NET heter det Object ;)


Svara

Sv:Returtyp

Postades av 2005-05-09 14:39:41 - Johan Svensson

He he,

Nu skulle man kunna tro att jag skulle krypa in i hörnan och skmmas....nä nä, jag kryper villigt fram och erkänner att jag tänkte lite väl snabbt och inte tillräckligt noga så det blev visst ett par snabba vurpor där...sorry!

// Johan


Svara

Sv: Returtyp

Postades av 2005-05-09 15:02:30 - Tomas Andersson

Tanken var att göra en generell funktion som tar in ett objekt från en databas och sen castar det till lämplig typ och på så sätt få alla konverteringar på samma ställe.

/Tomas


Svara

Sv:Returtyp

Postades av 2005-05-09 15:12:52 - Björn Österman

Jag förstår inte hur du skall använda det du returnerar när funktionen är generell och du inte vet vad den kommer att returnera för typ. Då måste du iaf slänga in returvärdet i en object iaf och då kan du skriva funktionen att returnera object från början.

Kan du skriva ett litet exempel på hur du skulle vilja att det såg ut när du kallar på funktionen?


Svara

Sv: Returtyp

Postades av 2005-05-09 15:21:21 - Tomas Andersson

Jo, det kan jag väl göra =)

<code>
dim text as string
text = MinFunktion(ds.Tables(0).Rows(0).Item("namn"))

dim id as integer
id = MinFunktion(ds.Tables(0).Rows(0).Item("id"))
</code>

Eller nåt i den stilen...

/Tomas


Svara

Sv: Returtyp

Postades av 2005-05-09 15:21:43 - Andreas Håkansson

Instämmer med Björn - ett exempel på hur du vill att det ska fungera hade varit trevligt. =)


Svara

Sv:Returtyp

Postades av 2005-05-09 15:22:37 - Andreas Håkansson

Tomas,

Nepp går tyvärr inte. Då får du returnera object men kommer ändå inte bort från en typkonvertering.


Svara

Sv:Returtyp

Postades av 2005-05-09 17:46:28 - Göran Andersson

Du kan överlagra en metod som returnerar olika datatyper ifall parametrarna är olika. Ifall du till exempel skickar in en parameter med den datatyp du vill ha ut så kan du skilja överlagringarna åt. Det blir ju lite krystat, dock. Det skulle ju kännas naturligare att helt enkelt döpa metoderna olika istället.

string MinFunktion(object source, string destType) { ... }
int MinFunktion(object source, int destType) { ... }

string text;
int id;

text = MinFunktion(ds.Tables(0).Rows(0).Item("namn"), string.Empty);
id = MinFunktion(ds.Tables(0).Rows(0).Item("id"), int.MinValue);


Svara

Sv: Returtyp

Postades av 2005-05-10 08:54:39 - Tomas Andersson

Blir nog så att vi gör två olika metoder...

/Tomas


Svara

Sv:Returtyp

Postades av 2005-05-10 09:29:50 - Jerry Johansson

Man kan inte får byRef att returnera ett typat värde ?


Svara

Sv: Returtyp

Postades av 2005-05-10 09:45:54 - Andreas Håkansson

Jerry,

Hur? Du måste ange typen på din ByRef variabel när du deklarerar den.


Svara

Sv:Returtyp

Postades av 2005-05-10 09:51:14 - Jerry Johansson

Nä det var inget kom på att det inte gick eftersom man inte kan ändra på den typen heller...


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 602
27 953
271 705
5 942
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies