[ASP 3.0 -> C#] Converteren VBScript -> C# *

Pagina: 1
Acties:

  • klaaz
  • Registratie: April 2000
  • Laatst online: 24-04 16:54

klaaz

it's me!

Topicstarter
Ik ben bezig de volgende VB code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
Sub Page_Load (sender As Object, e As EventArgs)
myXml.Document = getXML("http://www.laborstart.org/rss/labourstart.nl.xml")
End Sub

Function getXML(sourceFile As String) 
Dim myRequest As System.Net.WebRequest = System.Net.WebRequest.Create(sourceFile)
Dim myResponse As System.Net.WebResponse = myRequest.GetResponse()
Dim myReader As System.Xml.XmlTextReader = new System.Xml.XmlTextReader(myResponse.GetResponseStream())
Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument()
doc.Load(myReader)
getXML = doc
End Function


te vertalen naar C#:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Page_Load(object sender, EventArgs e) 
{ 
 myXml.Document = getXML("http://www.laborstart.org/rss/labourstart.nl.xml"); 
} 

object getXML(string sourceFile) 
{ 
 System.Net.WebRequest myRequest = System.Net.WebRequest.Create(sourceFile); 
 System.Net.WebResponse myResponse = myRequest.GetResponse(); 
 System.Xml.XmlTextReader myReader = new System.Xml.XmlTextReader(myResponse.GetResponseStream()); 
 System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); 
 doc.Load(myReader); 
 getXML = doc; 
}


Dit is de code die ik tot dusver heb. Het werkt echter niet.

De foutmelding:
Compiler Error Message: CS0029: Cannot implicitly convert type 'object' to 'System.Xml.XmlDocument'

Source Error:

Line 3: void Page_Load(object sender, EventArgs e)
Line 4: {
Line 5: myXml.Document = getXML("http://www.laborstart.org/rss/labourstart.nl.xml");
Line 6: }
Line 7:

Ik ben een volkomen leek op het gebied van C#, maar ik moet het gebruiken in dit geval. Het is namelijk een uitbreiding binnen een Citrix CSG waarin al C# gebruikt is. En twee talen serversided runnen lukt niet. |:(

Het gaat trouwens om een RSS parser: http://home.att.net/~codeLibrary/XML/rss.htm

[ Voor 3% gewijzigd door klaaz op 10-05-2005 19:34 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
maak er eens van

C#:
1
System.Xml.XmlDocument getXML( string sourceFile )


je verwacht in je code een XmlDocument ( Dat geeft de melding ook duidelijk aan ) dus dan moet je bij je functie definitie ook aangeven dat je een XmlDocument returnt

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • klaaz
  • Registratie: April 2000
  • Laatst online: 24-04 16:54

klaaz

it's me!

Topicstarter
Aangepast, Hij gaat nu tot regel 15:
Compiler Error Message: CS0654: Method 'ASP.login_aspx.getXML(string)' referenced without parentheses

Source Error (regel 15):

code:
1
2
3
4
5
Line 13:  System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); 
Line 14:  doc.Load(myReader); 
Line 15:  getXML = doc; 
Line 16: }
Line 17:


I don't get it. Dit wijkt echt af van ASP...

[ Voor 8% gewijzigd door klaaz op 10-05-2005 22:44 ]


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 01-04 20:36

Not Pingu

Dumbass ex machina

Het wijkt idd af van ASP ja, dat klopt. ASP.NET heeft een heel andere object library. Iets porten van classic ASP naar ASP.NET is wel even iets anders dan code letterlijk vertalen :)

regel 15 moet zijn:
code:
1
return doc;

Certified smart block developer op de agile darkchain stack. PM voor info.


  • klaaz
  • Registratie: April 2000
  • Laatst online: 24-04 16:54

klaaz

it's me!

Topicstarter
mmmm, ik hoop dat je een vrouw bent.

Want ik kan je namelijk wel ZOENEN ;)

Hij doet het. Super! _/-\o_

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:22
Hoe kom je bij die lijn 15 ? Je gaat iets toewijzen aan een method. Dit moet zowiezo:
code:
1
cod = getXML();

zijn.

https://fgheysels.github.io/


  • BertS
  • Registratie: September 2004
  • Laatst online: 13-02 08:33
whoami schreef op dinsdag 10 mei 2005 @ 23:00:
Hoe kom je bij die lijn 15 ? Je gaat iets toewijzen aan een method. Dit moet zowiezo:
code:
1
cod = getXML();

zijn.
Lees ook ff lijn 13 ;)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

whoami schreef op dinsdag 10 mei 2005 @ 23:00:
Hoe kom je bij die lijn 15 ? Je gaat iets toewijzen aan een method. Dit moet zowiezo:
code:
1
cod = getXML();

zijn.
In talen als Delphi Object Pascal en volgens mij ook in VB ken je daarmee een returnwaarde toe aan de functie. Het verschil met C-varianten is dat die returnwaarde vastgehouden wordt, en de functie verder gewoon zijn verloop vindt. Pas wanneer de functie afgesloten wordt, wordt deze waarde daadwerkelijk gereturnd.

Ik vermoed dat hij daarmee in de war is. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • klaaz
  • Registratie: April 2000
  • Laatst online: 24-04 16:54

klaaz

it's me!

Topicstarter
Tja, met Delphi, ASP en PHP red ik me prima, Maar C is niet zo mijn ding ;)

Toch leerzaam geweest...

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:22
Ja, deze is ook niet echt nodig (althans, gedeeltelijk), de initialisatie is niet nodig als je doc een waarde assigned mbhv een functie.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 13:22
-NMe- schreef op dinsdag 10 mei 2005 @ 23:06:
[...]

In talen als Delphi Object Pascal en volgens mij ook in VB ken je daarmee een returnwaarde toe aan de functie. Het verschil met C-varianten is dat die returnwaarde vastgehouden wordt, en de functie verder gewoon zijn verloop vindt. Pas wanneer de functie afgesloten wordt, wordt deze waarde daadwerkelijk gereturnd.

Ik vermoed dat hij daarmee in de war is. :)
Hmm, idd dat zal het zijn.
Dat verklaart dan ook meteen lijn 13. :)

Ervan uitgaand dat die code dus z'n function body is , moet dat idd return doc; zijn, maar daar was iedereen natuurlijk al over uit. :+

https://fgheysels.github.io/

Pagina: 1