Avatar billede Slettet bruger
31. januar 2006 - 14:03 Der er 9 kommentarer og
1 løsning

VB.Net til C#

Jeg har følgende i VB.NET:

Dim strMachineName As String = String.Empty
Dim Context As System.Web.HttpContext
Context = System.Web.HttpContext.Current
strMachineName = Context.Request.ServerVariables.Item("LOCAL_ADDR")

Men jeg bare ikke få det skrevet om til C#. Det eneste jeg er ude efter er Request.ServerVariables.Item("LOCAL_ADDR"). Koden skal bruges i en BLL/DAL.
Avatar billede innercitydk Nybegynder
31. januar 2006 - 14:29 #1
string strMachineName = string.Empty;
System.Web.HttpContext Context;
private object Context = System.Web.HttpContext.Current;
private object strMachineName = Context.Request.ServerVariables.Item("LOCAL_ADDR");
Avatar billede innercitydk Nybegynder
31. januar 2006 - 14:30 #2
En anden gang kan du bruge denne side:

http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx

Du kan både konvertere fra vb->c# og omvendt..

Vh
Avatar billede dr_chaos Nybegynder
31. januar 2006 - 14:31 #3
når du skal have konveret kode kan du bruger:

http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx


output er magen til innnercitydk
Avatar billede dr_chaos Nybegynder
31. januar 2006 - 14:31 #4
hmmm meget ens post vi har lavet der :)
Avatar billede innercitydk Nybegynder
31. januar 2006 - 14:34 #5
hehe ja det må man sige :D
Avatar billede nielle Nybegynder
31. januar 2006 - 17:38 #6
Jeg ville nu mene at dette er en mere korrekt oversættelse:

string strMachineName = string.Empty;
System.Web.HttpContext Context;
Context = System.Web.HttpContext.Current;
strMachineName = Context.Request.ServerVariables.Item("LOCAL_ADDR");

Det kan i øvrigt forkortes til:

System.Web.HttpContext Context = System.Web.HttpContext.Current;
string strMachineName = Context.Request.ServerVariables.Item("LOCAL_ADDR");
Avatar billede md_craig Nybegynder
31. januar 2006 - 17:44 #7
Det er jo så en slavisk oversættelse, Sej nok lille oversætter dog :D

Enyways ville jeg nok:
----------------------------------------------------------------------------------------

private HttpContext context = HttpContext.Current;
private string strMachineName = context.Request.ServerVariables.Item("LOCAL_ADDR");




Selv gør jeg det noget kortere:

private string strMachineName = Context.Request.ServerVariables["LOCAL_ADDR"];
Avatar billede nielle Nybegynder
31. januar 2006 - 17:47 #8
Det ville jeg også, men det fremgår ikke af sammenhængen om Context skal bruges andre steder i programmet. Så hvis det stadigvæk skal kunne kompilere, er det muligvis en god ide at beholde den...
Avatar billede md_craig Nybegynder
31. januar 2006 - 20:55 #9
Ikke forstået?...
Context kan jo hentes hvor man vil, det er jo bare referance kopiering det andet...

Request objektet er desuden også direkte tilgængelig således at man kan:
private string strMachineName = Request.ServerVariables["LOCAL_ADDR"];
--------------------------------------------------------------------------------------

Context == System.Web.HttpContext.Current
Request == System.Web.HttpContext.Current.Request
Response == System.Web.HttpContext.Current.Response
Avatar billede nielle Nybegynder
31. januar 2006 - 22:01 #10
Det jeg påpeger er, at der jo kan stå sådan noget som:

Response.Write Context;

- længere nede i koden - den del af kode som vi ikke har fået vist; Eller "Context" kan blive brugt i andre sammenhænge direkte i koden.

Hvis vi med optimeringen:

private string strMachineName = Context.Request.ServerVariables["LOCAL_ADDR"];

- springer det trin over, hvor Contexy bliver oprettet som en variabel i programet, vil disse pludseligt ikke kunne kompilere. Det er korrekt at man så bare kan tilpasse disse kodelinjer, men vi kan jo også bare lave være med at optimere variablen "Context" væk. Så har vi ikke det potentielle problem.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester