Heeyy,
Kzat te klooien met ASP (C#..) webservice en al..
Wat ik wil is een webservice die gewoon netjes een array met (in dit geval) windows output, met de volgende info:
- Title
- Body
- ID
Misschien nog meer, maar ff niet relevant..
Dus heb ik deze struct aangemaakt:
Daarna deze functie:
Als ik de line waar het om gaat weghaal, krijg ik netjes een output:
<ArrayOfWindow>
−
<Window>
<Title>Test1</Title>
</Window>
−
<Window>
<Title>Test2</Title>
</Window>
−
<Window>
<Title>Test2</Title>
</Window>
</ArrayOfWindow>
Maar nu wil ik dus de variabele Title veranderen IN de array, met die regel code.. Maar ik krijg de volgende error:
CS0445: Cannot modify the result of an unboxing conversion
Opgezocht op google, kwam hier op uit:
http://msdn2.microsoft.com/en-us/library/1zd0a13x.aspx
Probleem is.. ksnap er niet veel van wat daar staat.. Wat moet ik nu precies doen om dit op te lossen? Of heeft iemand een ander (beter) idee..
Het was namelijk de bedoeling om een array aan te maken, zonder vooraf een grote in te stellen... Dit omdat je anders een gigantisch grote lijst krijgt, met lege dingen erin... Heb veel dingen geprobeert, maar om 1 of andere reden moet je dus altijd een vooraf bepaalde grootte invullen bij een normale [] array.. zie ik iets over het hoofd? Of kan dit echt niet? En als dit niet kan.. is het dan de beste manier zoals ik het doe om dit op te lossen of heeft iemand iets anders?
Hmm.. wazig verhaal volges mij..
Hoop dat iemand kan helpen
Kzat te klooien met ASP (C#..) webservice en al..
Wat ik wil is een webservice die gewoon netjes een array met (in dit geval) windows output, met de volgende info:
- Title
- Body
- ID
Misschien nog meer, maar ff niet relevant..
Dus heb ik deze struct aangemaakt:
C#:
1
2
3
4
5
6
7
| public struct Window { public string Title; public string Body; public string Type; public string Id; } |
Daarna deze functie:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| [WebMethod] public Window[] Init() { ArrayList WindowList = new ArrayList(); Window InitWindow = new Window(); InitWindow.Title = "Test1"; WindowList.Add(InitWindow); InitWindow.Title = "Test2"; WindowList.Add(InitWindow); WindowList.Add(InitWindow); ((Window)WindowList[1]).Title = "Test3"; //Line waar het om gaat <----- Window[] ReturnWindow = new Window[WindowList.Count]; for (int i = 0; i < WindowList.Count; i++) { ReturnWindow[i] = (Window)WindowList[i]; } return ReturnWindow; } |
Als ik de line waar het om gaat weghaal, krijg ik netjes een output:
<ArrayOfWindow>
−
<Window>
<Title>Test1</Title>
</Window>
−
<Window>
<Title>Test2</Title>
</Window>
−
<Window>
<Title>Test2</Title>
</Window>
</ArrayOfWindow>
Maar nu wil ik dus de variabele Title veranderen IN de array, met die regel code.. Maar ik krijg de volgende error:
CS0445: Cannot modify the result of an unboxing conversion
Opgezocht op google, kwam hier op uit:
http://msdn2.microsoft.com/en-us/library/1zd0a13x.aspx
Probleem is.. ksnap er niet veel van wat daar staat.. Wat moet ik nu precies doen om dit op te lossen? Of heeft iemand een ander (beter) idee..
Het was namelijk de bedoeling om een array aan te maken, zonder vooraf een grote in te stellen... Dit omdat je anders een gigantisch grote lijst krijgt, met lege dingen erin... Heb veel dingen geprobeert, maar om 1 of andere reden moet je dus altijd een vooraf bepaalde grootte invullen bij een normale [] array.. zie ik iets over het hoofd? Of kan dit echt niet? En als dit niet kan.. is het dan de beste manier zoals ik het doe om dit op te lossen of heeft iemand iets anders?
Hmm.. wazig verhaal volges mij..