[ASP.net] tutorial code geeft error *

Pagina: 1
Acties:

  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
Hallo,

laat me even van te voren zeggen dat ik al heb proberen te zoeken, en zelf vanalles heb geprobeerd, maar ben een beginner in asp.net en heb eigenlijk niet echt een idee wat ik moet.

Van een tutorial heb ik de volgende code overgetypt,
hieronder mijn hele aspx file inhoud:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="dbtest.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">
    sub Page_Load
        dim dbconn,sql,dbcomm,dbread
        dbconn=New OleDbConnection("Provider=VSdotNET;Data Source=test;Initial Catalog=pubs;User Id=sa;Password=;" 
        dbconn.Open()
        sql="SELECT * FROM testtable"
        dbcomm=New OleDbCommand(sql,dbconn)
        dbread=dbcomm.ExecuteReader()
        testRepeater.DataSource=dbread
        testRepeater.DataBind()
        dbread.Close()
        dbconn.Close()
    end sub
</script>

<html>
    <head>
        <title>test oledb connection sqlserver <> asp.net (c#)</title>
    </head>
    <body>
        <form runat="server">
            <asp:Repeater id="testRepeater" runat="server">
                <HeaderTemplate>
                    <table border="1" width="100%">
                    <tr>
                    <th>id</th>
                    <th>testinhoud</th>
                    </tr>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                    <td><%#Container.DataItem("id")%></td>
                    <td><%#Container.DataItem("testinhoud")%></td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>
        </form>

    </body>
</html>


Ik maak dus connectie met een sql server database, ofja, dat probeer ik. In de tutorial word connectie gemaakt met een access database,
het enigste verschil is dan de volgende regel:
code:
1
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & server.mappath("northwind.mdb"))


Maar dat maakt verder niets uit...

ik krijg de volgende error in Visual studio.net:

1. (28): Within a server element, the element 'table' is missing its closing tag or overlaps with element 'HeaderTemplate'.
2. (35): Per the active schema, the element 'tr' cannot be nested within 'form'.

Sorry voor de enorme lap tekst... maar ik hoop volledig te zijn zo,
heeft iemand enig idee wat ik fout doe,
want ik maak via de wizard een asp.net web application,
zet de code van de tutorial erin, compileer en krijg de foutmelding. Ik doe toch niets raar :S ?

UPDATE;
ik ben er zelf al enigzins uit, ik gebruikt VB code in het asp.net file en hing daar C# achter, dat kan schijnbaar niet samen.
Ik ga nu de sub in VB omzetten naar C# code en deze in de C# file zetten.

hopen dat dat werkt en lukt.

[ Voor 50% gewijzigd door mr._Anderson op 22-10-2003 11:17 ]

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


  • Surehand
  • Registratie: Februari 2003
  • Laatst online: 18-08 15:40
Je probeert het resultaat van een C# programma (de html pagina) te compileren. Dit is geen C#.

Zoek in je tutorial nog even verder naar de file WebForm1.aspx.cs.

  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
Surehand schreef op 22 oktober 2003 @ 10:10:
Je probeert het resultaat van een C# programma (de html pagina) te compileren. Dit is geen C#.

Zoek in je tutorial nog even verder naar de file WebForm1.aspx.cs.
ik gebruik de volgende tutorial
http://www.w3schools.com/aspnet/aspnet_dbconnection.asp

daar word geen gebruik gemaakt van C# code alleen van asp.net

ik werk nu gewoon in een aspx file, daarin kan ik toch gewoon asp.net code gebruiken? het rare is dat het gewoon heeft gewerkt en ik het nu niet meer voor elkaar kan krijgen.

in de aspx file hangt er wel via een codebehind een aspx.cs file achter, maar die is gewoon standaard gevult, en heb ik verder niets mee gedaan. het moet zo toch eigenlijk werken?

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

C# :?

Het lijkt mij redelijk VB.Net.

Daarnaast: ASP.Net is geen taal, maar heeft C#, VB.Net, etc. nodig.

en daarnaast mag je je SQL Server / MSDE wel eens patchen, maar dat is een ander verhaal.

[ Voor 30% gewijzigd door gorgi_19 op 22-10-2003 10:27 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
gorgi_19 schreef op 22 October 2003 @ 10:25:
C# :?

Het lijkt mij redelijk VB.Net.

Daarnaast: ASP.Net is geen taal, maar heeft C#, VB.Net, etc. nodig.

en daarnaast mag je je SQL Server / MSDE wel eens patchen, maar dat is een ander verhaal.
ja oke, die sub page_load is volgens mij VB.net,
en dat ik sql server moet patchen heb ik niet veel aan :)

nogmaals ik ben beginner op dit gebied, en stap in het diepe, heb je enig idee hoe ik dit moet oplossen? of zit ik zover ergens de fout in dat het zo helemaal niet kan ofzo :S ?

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

mr._Anderson schreef op 22 October 2003 @ 10:32:
[...]
ja oke, die sub page_load is volgens mij VB.net,
Les 1: Niet mixen in 1 pagina / 1 project
en dat ik sql server moet patchen heb ik niet veel aan :)
Dat merk je wel met virussen die je binnenkrijgt.. :)
nogmaals ik ben beginner op dit gebied, en stap in het diepe, heb je enig idee hoe ik dit moet oplossen? of zit ik zover ergens de fout in dat het zo helemaal niet kan ofzo :S ?
Kijk hier eens: http://www.asp.net/Tutorials/quickstart.aspx :)

* gorgi_19 moet nu weg, maar zal straks nog wel wat betere tuts plaatsen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Welke ontwikkel omgeving gebruik je?

Je moet trouwens de pagina ook niet proberen te compileren. Het is een aspx file die wordt automatisch gecompileerd als je hem opvraagt met je browser. Alleen je codebehind files hoeven gecompileerd te worden naar een dll die in je \bin directory komt te staan. Aangezien je in je header dit
ASP.NET:
1
Inherits="dbtest.WebForm1"

hebt staan zal er dus een class WebForm1 moeten zijn die in die dll zit. De codebehind file zou "WebForm1.aspx.cs" moeten zijn zoals in je header staat. Deze moet je dus wel compileren.

“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.”


  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
[...]

Dat merk je wel met virussen die je binnenkrijgt.. :)
ik zit op mijn eigen pc, op een bedrijfsnetwerk, achter een virus scanner, achter een proxy ofzo...

het is alleen voor ontwikkeling dan ik deze versie gebruik.. als het later op de server van het bedrijf komt denk ik dat daar wel geod voor gezorgd word :)


Verder ben ik nu alles in de aspx.cs file aan het doen.. ofja proberen te doen dus :) meer tuts zijn van harte welkom !

[ Voor 3% gewijzigd door mr._Anderson op 22-10-2003 15:26 ]

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


Verwijderd

staan die #quot enzo ook in jou code of is het een bug in het forum???????

Want zo wordt ik ook weinig wijzer!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 18:29
Ik denk dat dit met de nieuwe versie te maken heeft, er zijn nog wel meer dingen, zoals JS errors op de frontpage van het forum.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Is een bug in het forum. Is al gemeld en wordt opgelost

“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.”


Verwijderd

rwb schreef op 22 October 2003 @ 16:16:
Is een bug in het forum. Is al gemeld en wordt opgelost
Netjes het viel me op, en dacht dat het aan de PC op me stage lag (Nt4 bakkie he :D)

Maar hulde dat het opgelost wordt.. Zo wordt het forum nog beter _O_

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
En hou het nu ontopic please.

https://fgheysels.github.io/


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
mr._Anderson schreef op 22 oktober 2003 @ 15:26:
[...]


ik zit op mijn eigen pc, op een bedrijfsnetwerk, achter een virus scanner, achter een proxy ofzo...

het is alleen voor ontwikkeling dan ik deze versie gebruik.. als het later op de server van het bedrijf komt denk ik dat daar wel geod voor gezorgd word :)


Verder ben ik nu alles in de aspx.cs file aan het doen.. ofja proberen te doen dus :) meer tuts zijn van harte welkom !
De tutorials van de quickstart vindt ik vrij duidelijk. Als je voor je werk bezig bent ( Ook als het niet voor je werk is trouwens ;) ) kan het nooit kwaad om er ook een goed boek over aan te schaffen. Voor de rest denk ik dat het niet nodig is om meteen met een database te gaan werken. Probeer eerst eens gewoon het idee van asp.net te snappen. Daarna kan je op je gemak even uitzoeken hoe je het best met een database kan werken in het .net platform. Het zijn namelijk 2 nogal verschillende onderwerpen en het is nooit handig om teveel dingen tegelijk te willen.

Na het terug lezen van m'n post nog even verduidelijken.
Probeer eerst eens gewoon in C#/VB.NET een simpele applicatie te maken zonder dat je je bezig gaat houden met alle features van ASP.NET of Databases. Het is denk belangrijk dat je eerst de basis van de taal kent.

[ Voor 12% gewijzigd door Woy op 22-10-2003 16:21 ]

“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.”


  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
rwb schreef op 22 oktober 2003 @ 16:19:
[...]

De tutorials van de quickstart vindt ik vrij duidelijk. Als je voor je werk bezig bent ( Ook als het niet voor je werk is trouwens ;) ) kan het nooit kwaad om er ook een goed boek over aan te schaffen. Voor de rest denk ik dat het niet nodig is om meteen met een database te gaan werken. Probeer eerst eens gewoon het idee van asp.net te snappen. Daarna kan je op je gemak even uitzoeken hoe je het best met een database kan werken in het .net platform. Het zijn namelijk 2 nogal verschillende onderwerpen en het is nooit handig om teveel dingen tegelijk te willen.

Na het terug lezen van m'n post nog even verduidelijken.
Probeer eerst eens gewoon in C#/VB.NET een simpele applicatie te maken zonder dat je je bezig gaat houden met alle features van ASP.NET of Databases. Het is denk belangrijk dat je eerst de basis van de taal kent.
Het is voor m'n stage,
ik heb geen tijd om eerste applicaties te gaan maken. Ik ga direct beginnen aan webapplicaties. ik heb gelukkig al wel redelijk veel ervaring met java en asp. java helpt me bij c#. En asp enigzins bij asp.net een beetje.

Maar je hebt wel gelijk het zou niet verkeerd zijn om meer bij de basis te beginnen. :) bedankt voor je goede raad, i will take it into account.!

UPDATE
mijn fout was dus dat ik VB en C# aan het gebruiken was. Ik ben nu dus bezig om alles in C# te gaan maken. Met natuurlijk ook nog asp.net
/UPDATE

[ Voor 7% gewijzigd door mr._Anderson op 23-10-2003 08:15 ]

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
mr._Anderson schreef op 23 October 2003 @ 08:13:
[...]


Het is voor m'n stage,
ik heb geen tijd om eerste applicaties te gaan maken. Ik ga direct beginnen aan webapplicaties. ik heb gelukkig al wel redelijk veel ervaring met java en asp. java helpt me bij c#. En asp enigzins bij asp.net een beetje.

Maar je hebt wel gelijk het zou niet verkeerd zijn om meer bij de basis te beginnen. :) bedankt voor je goede raad, i will take it into account.!

UPDATE
mijn fout was dus dat ik VB en C# aan het gebruiken was. Ik ben nu dus bezig om alles in C# te gaan maken. Met natuurlijk ook nog asp.net
/UPDATE
Ik bedoel natuurlijk ook niet dat je complete applicaties moet gaan maken, Ik bedoel dat je niet meteen alles moet willen. Begin eerst eens gewoon met een asp.net webform met alleen een knop en een label waar de label veranderd als je op de knop drukt.

Dan heb je hopenlijk meteen een beetje door hoe het event systeem in asp.net werkt enzo. Als je meteen met databases begint en er gaat iets fout zoals hier dan weet je meteen niet meer waar het nou mis gaat omdat je nog geen ervaring met het platform hebt. Dat je al java hebt gedaan zal je inderdaad helpen om C# snel onder de knie te krijgen. Let vooral op het grote verschil van event afhandeling tussen C# en java. Dus begin niet meteen aan het programmeren voor je stage opdracht. Begin eerst even met rustig oefenen. Dit zal je uiteindelijk zeker tijd besparen en je krijgt zeker een beter product.

“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.”


  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
rwb schreef op 23 October 2003 @ 09:34:
[...]


Ik bedoel natuurlijk ook niet dat je complete applicaties moet gaan maken, Ik bedoel dat je niet meteen alles moet willen. Begin eerst eens gewoon met een asp.net webform met alleen een knop en een label waar de label veranderd als je op de knop drukt.

Dan heb je hopenlijk meteen een beetje door hoe het event systeem in asp.net werkt enzo. Als je meteen met databases begint en er gaat iets fout zoals hier dan weet je meteen niet meer waar het nou mis gaat omdat je nog geen ervaring met het platform hebt. Dat je al java hebt gedaan zal je inderdaad helpen om C# snel onder de knie te krijgen. Let vooral op het grote verschil van event afhandeling tussen C# en java. Dus begin niet meteen aan het programmeren voor je stage opdracht. Begin eerst even met rustig oefenen. Dit zal je uiteindelijk zeker tijd besparen en je krijgt zeker een beter product.
Oke,
ja kleine dingen zoals tekst veranderen via een knopje heb ik al gedaan. Ik kan nu al dingen uit de database halen via C#, en ga nu verder om het via een datatable te gaan doen. moet wel netjes natuurlijk ;)

het verschil wat jij aangeeft in event afhandeling kan ik op dit moment niet geod thuis brengen, maar ik zal er zeker naar kijken.

bedankt voor al je hulp!

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
mr._Anderson schreef op 23 oktober 2003 @ 09:55:
[...]


Oke,
ja kleine dingen zoals tekst veranderen via een knopje heb ik al gedaan. Ik kan nu al dingen uit de database halen via C#, en ga nu verder om het via een datatable te gaan doen. moet wel netjes natuurlijk ;)

het verschil wat jij aangeeft in event afhandeling kan ik op dit moment niet geod thuis brengen, maar ik zal er zeker naar kijken.

bedankt voor al je hulp!
Om netjes met de database te werken is een van de belangrijke punten om gebruik te maken van geparamtriseerde query's hierdoor is het onder andere niet meer mogelijk om SQL Injection te krijgen.

Het verschil met event afhandeling is dat er in C# gebruik wordt gemaakt van delegates en in java wordt er gebruik gemaakt van interfaces. Op zich is het niet zo'n groot probleem maar dat is een van de dingen die in java niet bestaan. Bijvoorbeeld je event_handlers die je voor je asp.net componenten hebt worden gekoppelt door middel van delegates.

“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.”


  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
rwb schreef op 23 October 2003 @ 14:08:
[...]


Om netjes met de database te werken is een van de belangrijke punten om gebruik te maken van geparamtriseerde query's hierdoor is het onder andere niet meer mogelijk om SQL Injection te krijgen.

Het verschil met event afhandeling is dat er in C# gebruik wordt gemaakt van delegates en in java wordt er gebruik gemaakt van interfaces. Op zich is het niet zo'n groot probleem maar dat is een van de dingen die in java niet bestaan. Bijvoorbeeld je event_handlers die je voor je asp.net componenten hebt worden gekoppelt door middel van delegates.
Hier overstijg je me toch kwa kennis :Y) ik heb een boek van 1250 pagina's ongeveer gehuurd over asp.net =) ga ik lekker in de baas zijn tijd doorlezen :Y) wie zegt dat het niet heerlijk is om te leren ;)

je begon over interfaces, en die kon ik zo snel niet thuis brengen dus heb wat gezocht even, en kom er dus gewoon achter dat ik dit niet gehad heb. Heb een jaar Java gehad op m'n opleiding.. en geen interfaces !!! frappant vind ik dat.. het schijnt niet echt zeldzaam te zijn :Y) Ik heb nog veel te leren :D

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

rwb schreef op 23 oktober 2003 @ 14:08:
Het verschil met event afhandeling is dat er in C# gebruik wordt gemaakt van delegates en in java wordt er gebruik gemaakt van interfaces.
* gorgi_19 snapt interfaces niet in deze context; .Net heeft toch ook interfaces?

Ow ja, nog wat tutorialsites... :P, zoals beloofd

www.4guysfromrolla.com
www.aspalliance.com
www.asp.net

Vooral de wat oudere artikelen laten wel eea zien over ASP.Net

[ Voor 30% gewijzigd door gorgi_19 op 24-10-2003 09:41 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
gorgi_19 schreef op 24 oktober 2003 @ 09:39:
[...]

* gorgi_19 snapt interfaces niet in deze context; .Net heeft toch ook interfaces?

Ow ja, nog wat tutorialsites... :P, zoals beloofd

www.4guysfromrolla.com
www.aspalliance.com
www.asp.net

Vooral de wat oudere artikelen laten wel eea zien over ASP.Net
Tuurlijk heeft .net ook interfaces. Dat is natuurlijk ook niet wat ik bedoel. Ik bedoel te zeggen dat het event systeem in Java gebruik maakt van interfaces ( MouseListener, KeyListener zijn allemaal interfaces ) die je doormiddel van de juiste AddListener methode toevoegt. In .net gebeurt dit door middel van delegates ( Wat natuurlijk ook een vorm van een Interface is :) ). Het verschil is dus dat je in java een class moet hebben die een interface implementeerd en in .net kan je echt een functie aangeven die je event afhandeld. Voor je eigen events in je eigen classes kan je natuurlijk wel de Java manier implementeren maar met alle standaard framework classes gaat dat natuurlijk lastig.
je begon over interfaces, en die kon ik zo snel niet thuis brengen dus heb wat gezocht even, en kom er dus gewoon achter dat ik dit niet gehad heb. Heb een jaar Java gehad op m'n opleiding.. en geen interfaces !!! frappant vind ik dat.. het schijnt niet echt zeldzaam te zijn Ik heb nog veel te leren
Je hebt nog nooit interfaces gehad na een jaar Java??? wil je dan even snel tegen je leraar gaan zeggen dat hij zijn les stof eens na moet gaan kijken.
Je hebt dus ook nog nooit wat met events in java gedaan?? Of ging dat allemaal door gebruik van Adapters??

[ Voor 23% gewijzigd door Woy op 24-10-2003 10:12 ]

“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.”


  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
[b][message=19076362,noline]rwb schreef op 24 October 2003 @ 10:04
Je hebt nog nooit interfaces gehad na een jaar Java??? wil je dan even snel tegen je leraar gaan zeggen dat hij zijn les stof eens na moet gaan kijken.
Je hebt dus ook nog nooit wat met events in java gedaan?? Of ging dat allemaal door gebruik van Adapters??
Interfaces voor zover ik weet niet nee...

events wel.

euhm.. damn het is alweer lang geleden dat ik echt java heb gedaan. Nu een jaar van asp, c++.. delphi gehad :) (veel minder leuk in mijn mening :) )

de events werden altijd in een methode opgevangen..
dus een knop.. en dan had je een methode die er stond voor de actie als je op die knop drukte ofzo..
shit ik moet echt even naar de code kijken.. het is dus ook alweer bijna 1,5 jaar geleden dat ik java heb geprogrammeerd :) de opbouw blijft heel goed hangen. maar merk dat dingen je gedachten uitglippen. word tijd dat ik weer eens wat ga doen.

als ik vanavond thuis ben zal ik eens ff snel in die oude code duiken. en mezelf verduidelijken :)

en de reactie voor de reactie van hierboven :Y) BEDANKT VOOR DE LINKS

UPDATE
wacht, ik las die reactie hierboven nog eens. en met dingen als keylistener/mouselistener heb ik wel degelijk gewerkt. ik heb echter nooit geweten dat dit dus interfaces waren.

ik moet vanavond echt eens naar die oude code kijken.
/UPDATE

[ Voor 11% gewijzigd door mr._Anderson op 24-10-2003 12:17 ]

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Een interface is gewoon een beschrijving waaraan een class moet voldoen die hem implementeerd. Je kan bijvoorbeeld een interface Voertuig hebben die er als volgt uitziet
C#:
1
2
3
4
public interface Voertuig
{
    bool Verplaats( Richting richting, Snelheid snelheid );
}

Een class weg zou dan allemaal verschillende classes kunnen gebruiken die de interface Voertuig implementeren want de weg weet dat hij op alle classes Verplaats kan aanroepen. Hetzelfde geld dus voor de interface MouseListener ( Je doet tenslotte ook implements in plaats van extends ). Alle methoden die mouse events opvangen weten van alle MouseListeners dat ze onder andere de methode mouseMoved implementeren en dat hij die dus aan kan roepen ongeacht wat voor type het voor de rest is.
Vandaar ook de compiler melding ( Die je waarschijnlijk wel een keer gehad hebt ) dat je bijvoorbeeld mouseEntered niet geimplementeerd hebt. Als je niet alles implementeerd weet de aanroepende class tenslotte niet meer welke methodes hij kan verwachten.

“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.”

Pagina: 1