Operativsystem: .............................................................
Operativsystem: .............................................................
Operativsystem: .............................................................
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
fil: WinTest.cs<br />
//postcondition: Viser en messagebox<br />
using System.Windows.Forms;<br />
public class Test{<br />
}<br />
public static void Main(string[] args){<br />
string nr1="Dette er C Sharp.";<br />
string nr2="Dette er en System.Windows.Forms.MessageBox!\nHello World!";<br />
MessageBox.Show(nr2,nr1);<br />
}<br />
Forklaring:<br />
Hvis koden er blevet korrekt kompileret (csc WinTest.cs) viser WinTest.exe en messagebox med en<br />
titellinje og en tekst delt på 2 linjer. Tegnet ’\n’ angiver linje skift. (Escape tegn idet alle escape<br />
tegn indledes med \ og de er format koder som ikke udskrives).<br />
Koden erklærer 2 string-objekter, som bruges til boksens titel og tekst.<br />
Klassen MessageBox findes i namespace ’Forms’ som findes i ’Windows’ som findes i ’System’.<br />
Ved at bruge ’using’ undgås at skrive hele ’stien’ hver gang. Klassen MessageBox har en metode<br />
’Show()’ som tager 2 parametre: en tekst og en titel.<br />
Prøv at fjerne using-linjen og kompiler programmet. Kompileren meddeler nu en fejl:<br />
WinTest.cs(11,2): error CS0246: The type or namespace name 'MessageBox' could not be found<br />
(are you missing a using directive or an assembly reference?)<br />
Kompileren forstår ikke henvisningen til ‘MessageBox’: hvilken/hvor?<br />
Prøv derefter at tilføje en linje til Main() således:<br />
public static void Main(string[] args){<br />
string nr1="Dette er C Sharp.";<br />
string nr2="Dette er en System.Windows.Forms.MessageBox!\nHello World!";<br />
Assembly.Load("System.Windows.Forms");<br />
MessageBox.Show(nr2,nr1);<br />
}<br />
Den nye sætning loader/indlæser den DLL fil eller det namespace som vi ønsker at anvende.<br />
Sætningen er den mest sikre metode til at referere eller inddrage bestemte klasser som er<br />
’eksterne’ dvs ikke findes i denne cs-fil. Hvis du har problemer med at få dette Windows<br />
program (eller andre) til at køre skulle Assembly.Load() sætningen klare alle problemer.<br />
Senere i kurset vil vi skrive vore egne DLL filer og hvis der er problemer med at kunne<br />
’referere’ dem skulle Assembly.Load() også kunne klare disse problemer.