Avatar billede idiotbarn Nybegynder
12. april 2005 - 16:58 Der er 19 kommentarer og
1 løsning

Egne klasser hvornår og hvordan

Jeg er igang med at rode med asp.net, men er stort set lige begyndt på det. Jeg har i forbindelse med undervisning programmeret lidt java og har en bog om dette, men har helt klart kodes mest asp og javascript (dog intet "rent" VB), jeg er derfor ikke helt sikker på hvilket sprog jeg bruger, men tror det bliver java (det går vi bare ud fra i denne omgang)

Når jeg førhen kodede asp havde jeg nogen include filer som jeg inkludere npr jeg skulle bruge dem, det handlede om en database adgang og nogen dato funktioner (omregning til UK format fx)
Spørgemålet går på om man stadig vil lave det i include filer eller om man skal oprette klasser også når det bare er enkelte funktioner?
Avatar billede arne_v Ekspert
12. april 2005 - 17:04 #1
Til ASP.NET vil du typisk bruge C# eller VB.NET - ikke J# (som er ".NET Java").

C# ligner Java en del, så du vil finde den velkendt.

Normalt vil man builde sin kode til dll'er som man deployer til bin dir.
Avatar billede burningice Nybegynder
12. april 2005 - 18:04 #2
ALT i .net er klasser, så til dit spørgsmål omkring om man skal oprette klasser til en enkelt funktion er svaret JA!

Dog er hver enkelt aspx-side du laver i sig selv også en klasse, og ved hjælp af nedarv kan du lægge funktioner du gerne vil have tilgængelige overalt i en superklasse som alle dine sider så nedarver fra.
Avatar billede arne_v Ekspert
12. april 2005 - 21:04 #3
Strengt taget er det vel kun alt i C# og J# der er klasser - VB.NET og C++.NET
understøtter så vidt jeg ved fint kode udenfor klasser.
Avatar billede burningice Nybegynder
12. april 2005 - 21:29 #4
nu er c++ strengt taget ikke vel ikke et .Net sprog, da det bare er C++ med nogle .Net enablet features.

VB.Net er lidt specielt da de gerne har ville opnå så meget kompabilitet at det næsten gør helt ondt. Det er rigtigt at der er nogle globale funktioner såsom CType, Left, Right m.m., men jeg ved dog ikke hvordan man selv laver sådan nogle.
Avatar billede arne_v Ekspert
12. april 2005 - 21:40 #5
Lige ud af landevejen.

C:\e>type util.vb
Module Util
    Function Something As String
        Something = "grimt"
    End Function
End Module
C:\e>type main.vb
Imports System

Module Main
    Sub Main()
        Console.WriteLine(Something)
    End Sub
End Module
C:\e>vbc main.vb util.vb
Microsoft (R) Visual Basic .NET Compiler version 7.10.6001.4
for Microsoft (R) .NET Framework version 1.1.4322.2032
Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.


C:\e>main
grimt
Avatar billede arne_v Ekspert
12. april 2005 - 21:41 #6
.NET runtime understøtter tilsyneladende både objekt orienterede og procedurale
sprog (omend hele .NET library med undtagen af VisualBasic er selv objekt orienteret)
Avatar billede burningice Nybegynder
12. april 2005 - 21:54 #7
så man skal aldrig definere at man vil tilgå funktionen Something i Util-modulet? Hvad så hvis man har to enslydende funktioner i hvert sit modul?
Avatar billede arne_v Ekspert
12. april 2005 - 21:58 #8
C:\e\main.vb(5) : error BC30562: 'Something' is ambiguous between declarations in Modules 'Util' and 'Util2'.
Avatar billede arne_v Ekspert
12. april 2005 - 22:01 #9
I praksis betyder det jo bare at man prefixer alle sine funktions navne med noget.

Jeg har skrevet masser af C med navne konvention modulnavn_funktionsnavn.

Det sproget ikke understøtter må man jo selv håndtere.

Men da VB.NET jo understøtter klasser, så må det være den anbefalede
metode.
Avatar billede idiotbarn Nybegynder
13. april 2005 - 14:52 #10
Altså lave en super klasse hvor sider der skal bruge disse funktioner nedarver fra? Men er der forskel på om man gør det på den ene eller anden måde (undtagen kode messigt) og skal der skrives noget for at inkludere dem?
Avatar billede arne_v Ekspert
16. april 2005 - 16:14 #11
klassen skal bare være i en .dll som er i PATH (og for en ASP.NET web app betyder
det i bin dir)
Avatar billede idiotbarn Nybegynder
17. april 2005 - 19:33 #12
ok tak...ligger i lige et svar, så vil jeg itl at igang med at rode med det.
Lige en sidste ting. Er der nogen forskel på:
<form runat="server">
        <asp:DropDownList id="DropDownList1" runat="server"></asp:DropDownList>
        <!-- Insert content here -->
    </form>

og:
<form name="form1" method="post" action="">
  <select name="select">
  </select>
</form>

kan man ikke bruge dem til det samme?
Avatar billede arne_v Ekspert
17. april 2005 - 19:48 #13
svar
Avatar billede arne_v Ekspert
17. april 2005 - 19:50 #14
de 2 kan vel give det samme, men den første er en ASP.NET web form control, mens
det sidste er mere ASP style, det første ender op i noget HTML som ligner
det sidste, men ASP.NET ligger ligesom meget op til at du skal bruge
det første - sammen med code behind vil det give en meget pænere opdeling
af HTML og kode
Avatar billede arne_v Ekspert
17. april 2005 - 19:56 #15
skulle cyberfessor ikke have haft halvdelen ?
Avatar billede idiotbarn Nybegynder
17. april 2005 - 20:03 #16
arg...det havde jeg ikke lige set...cyber-->hvis du vil ha nogen point, så sig lige til...om ikke andet hører i nok fra mig når jeg kommer igang med det :)
Avatar billede arne_v Ekspert
17. april 2005 - 20:07 #17
jeg kan da lave et spørgsmål med de 15 point til ham
Avatar billede burningice Nybegynder
17. april 2005 - 20:23 #18
det er godt nok lidt fristende, men i dagens anledning kan arne godt få lov at beholde dem :)
Avatar billede idiotbarn Nybegynder
17. april 2005 - 20:24 #19
ok :) Men tro mig, der bliver massere muligheder for at få dem senere ;)
Avatar billede burningice Nybegynder
17. april 2005 - 20:33 #20
det vil jeg da glæde mig til... :)
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