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


Komplexa Datatyper

Postades av 2001-04-23 11:03:00 - Håkan Wennerberg, i forum visual studio.NET IDE, Tråden har 8 Kommentarer och lästs av 1524 personer

Sitter och designar en WebService som ska returnera en komplex datatyp. Att få ett resultat som ser ut enligt nedan är ju inga problem.

<channel>
<guid></guid>
<emails>
<email></email>
</emails>
</channel>

Men hur gör jag om jag vill ha flera email element efter varandra så att jag kan returnera en lista. Hur ska emails-klassen se ut egentligen? Har provat med Hashtables m.fl. collection-objekt men inte lyckats få det att fungera.

Håkan Wennerberg
http://wennerberg.nu/


Svara

Sv: Komplexa Datatyper

Postades av 2001-04-23 11:27:00 - Mattias Sjögren

Testa att använda ett fält eller egenskap som returnerar ett endimensionellt fält av email objekt. Jag har för mig att serializern bara klarar enkla fält, och inte saker som ArrayList eller Collection. I alla fall i beta 1.


MS


Svara

Sv: Komplexa Datatyper

Postades av 2001-04-24 15:55:00 - Håkan Wennerberg

Provade följande kod men får felet: "System.NullReferenceException: Attempted to dereference a null object reference". Har fått det här felet vid flera andra tillfällen då jag pysslat med ASP.Net men inte lyckats klura ut varför i fridens namn jag får det.

Public Class Fetcher

Public Function <WebMethod()> FetchUser() As User

Dim myUser As User = New User()

With myUser
.FName = "Hakan"
.LName = "Wennerberg"
.PhoneNumbers(0).Type = "Stationary" '<-- Error
.PhoneNumbers(0).Number = "+46 26 270000"
.PhoneNumbers(1).Type = "Mobile"
.PhoneNumbers(1).Number = "+46 70 2500000"
End With

Return (myUser)

End Function

End Class

Public Class User
Public FName As String = ""
Public LName As String = ""
Public PhoneNumbers(2) As Phone
End Class

Public Class Phone
Public Type As String = ""
Public Number As String = ""
End Class

// Håkan Wennerberg


Svara

Sv: Komplexa Datatyper

Postades av 2001-04-24 16:02:00 - Patrik Löwendahl

Public Class User
Public FName As String = ""
Public LName As String = ""
Public PhoneNumbers(2) As New Phone ' ??? tror att du måste initialisera den va ??
End Class


Svara

Sv: Komplexa Datatyper

Postades av 2001-04-24 17:26:00 - Andreas Hillqvist

Nu bara gissar, så jag ber om ursäkt för mina kollossala felsteg. Men kan man inte, typ skriva...

Public Class User
Public FName As String = ""
Public LName As String = ""
Public PhoneNumbers() As Phone = New Phone(2)
End Class

Eller nåt sånt här:

Public Class User
Public FName As String = ""
Public LName As String = ""
Public PhoneNumbers(2) As Phone = New Phone
End Class

As New Phone har ver sama nackdel som i VB att en jämförelse görs vare gång den acccessa. Medans man nu kan ange ett värde för den i deklarationen.

/Andreas...


Svara

Sv: Komplexa Datatyper

Postades av 2001-04-24 17:40:00 - Håkan Wennerberg

Mmm... testade innan med

Public PhoneNumbers(2) As New Phone

men det fuckade. Vilket är givetvis är klart om man tänker till vilket man inte gör ibland *skyller förvirrat på att jag var trött* Istället gjorde jag så här (testade samtidigt att använda ReDim):

Public Class ComplexDatatype

Public Function <WebMethod()> FetchUser() As User

Dim myUser As User = New User()

With myUser

.FName = "Hakan"
.LName = "Wennerberg"

ReDim .PhoneNumbers(2)

.PhoneNumbers(0) = New Phone()
.PhoneNumbers(0).Type = "Stationary"
.PhoneNumbers(0).Number = "+46 26 270000"

.PhoneNumbers(1) = New Phone()
.PhoneNumbers(1).Type = "Mobile"
.PhoneNumbers(1).Number = "+46 70 2500000"

End With

Return (myUser)

End Function

End Class

Public Class User
Public FName As String = ""
Public LName As String = ""
Public PhoneNumbers() As Phone
End Class

Public Class Phone
Public Type As String = ""
Public Number As String = ""
End Class

Detta ger det önskade resultatet:

- <User xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns="http://tempuri.org/">
<FName>Hakan</FName>
<LName>Wennerberg</LName>
- <PhoneNumbers>
- <Phone>
<Type>Stationary</Type>
<Number>+46 26 270000</Number>
</Phone>
+ <Phone>
<Type>Mobile</Type>
<Number>+46 70 2500000</Number>
</Phone>
</PhoneNumbers>
</User>

När vi ändå är på gång... Är det någon som vet hur man kan skapa attribut i elementen?


Svara

Sv: Komplexa Datatyper

Postades av 2001-04-24 17:43:00 - Håkan Wennerberg

Provade även dessa metoder men det ger följande fel:

New Phone(2)
- Ett fel inträffar då VB.Net tar attributet som konstruktor attribut.

Det andra ger också ett fel men jag minns inte vilket...


Svara

Sv: Komplexa Datatyper

Postades av 2001-04-24 22:51:00 - Mattias Sjögren

>Mmm... testade innan med
>
> Public PhoneNumbers(2) As New Phone
>
>men det fuckade.

Du skulle kunna använda

Public PhoneNumbers() As Phone = New Phone() {New Phone, New Phone}

Men snyggare är nog att läma det som det är

Public PhoneNumbers(2) As Phone

och initiera de båda Phone instanserna i en konstruktor, eller från koden som använder User klassen.


>Är det någon som vet hur man kan skapa attribut i elementen?

Är inte säker på detta, men jag tror du kan använda XmlAttribute attributet på de medlemmar du vill ska resultera i attribut iställt för egna taggar.

Public <XmlAttribute("FName")> FName As String


MS


Svara

Sv: Komplexa Datatyper

Postades av 2001-04-26 09:24:00 - Håkan Wennerberg

Fick det inte att fungera först men sen hittade jag ett exempel på http://www.TomorrowsLearning.com (xml exemplet 'XML Serialization' i C#). XmlAttribute klassen har tydligen flera attribut så man måste peka på vilket man avser att sätta. Vill man få Phone klassen att resultera i följande utdata

<Phone Type="Stationary" Number="+46 26 270000" />

Deklarerar man Phone klassen som

Public Class Phone
Public <XmlAttribute(AttributeName:="Type")> Type As String = ""
Public <XmlAttribute(AttributeName:="Number")> Number As String = ""
End Class

Tack för hjälpen!

Mvh,
Håkan Wennerberg
http://wennerberg.nu/


Svara

Nyligen

  • 20:22 Spel
  • 17:07 Snabb och trevlig webbplats utan l
  • 17:00 Bra spelsajt med bonusar
  • 15:51 Slappna av
  • 15:17 Onlineunderhållning på fritiden
  • 11:13 Online Kasino
  • 17:57 Vart är SEO på väg till 2030?
  • 14:24 CBD regelbundet?

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 662
27 955
271 721
5 620
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