webForumDet fria alternativet

module och funktioner

14 svar · 478 visningar · startad av jboy_87

jboy_87Medlem sedan aug. 20011 099 inlägg
#1

är det bra att inkludera mina funktioner i en module?

PaceMedlem sedan juni 20019 024 inlägg
#2

Det beror på användningsområdet.

Menar du module som i assembly (DLL-fil)? I så fall är svaret oftast självklart.

fredrikMedlem sedan dec. 19991 072 inlägg
#3

...om du är ute efter skillnaden mellan att lägga till en "Module" eller en "Class" så kommer här lite punkter:

- En Modul kan inte instansieras. En klass däremot kan instansieras flera gånger och på så vis innehålla olika värden för olika data.

- En modul kan varken ärva en annan modul/klass eller ärvas av någon annan modul/klass.

En modul är helt enkelt en samling av metoder och konstanter som gäller för hela din applikation. Då modulen inte behöver instansieras blir resultatet ungefär som en auto-instansierad klass som alltid finns tillgänglig från alla andra moduler och klasser i ditt projekt.

Nackdelen med en modul är som sagt att den inte kan utnyttja OO, och den kan heller inte återanvändas som ett eget Assembly såsom en klass kan. Däremot kan det vara en bra samlingspunkt för metoder som du vet BARA är generella för en viss applikation och där värderna alltid förblir samma (konstanter tex).

jboy_87Medlem sedan aug. 20011 099 inlägg
#4

jag använder vs.net och valde add/new module! kompileras inte filen i själva assemblyn eller?

Module funktioner

Public Function alert(ByVal text As String) As String
            Return (text)
End Function

End Module

fredrikMedlem sedan dec. 19991 072 inlägg
#5

kompileras inte filen i själva assemblyn eller?

Jo, den kommer att kompileras in i samma assembly som det projekt där du lagt den.

jboy_87Medlem sedan aug. 20011 099 inlägg
#6

men när jag anropar funktionen utanför min codebehind så funkar det inte?

<%# left(DataBinder.Eval(Container, "DataItem.info").tostring,1) + alert("sadsadas")%>

felmeddelande:
Name 'alert' is not declared.

PDahlenMedlem sedan apr. 2004778 inlägg
#7

Ligger din module i samma namespace då?
Annars måste du importera det.

jboy_87Medlem sedan aug. 20011 099 inlägg
#8

vad menar du med att den ligger i samma namespace?
men när jag kör med codebehind så funkar det utan att ha importerat nån namespace men inte utanför koden vad är det jag ska skriva för att importera modulen?!

jboy_87Medlem sedan aug. 20011 099 inlägg
#9

ingen som vet?

PaceMedlem sedan juni 20019 024 inlägg
#10

I VB.NET:

Imports modulnamnet
jboy_87Medlem sedan aug. 20011 099 inlägg
#11

jaha så men jag har redan importerat det men funkar inte endå :s i min codebehind så funkar det men inte utanför codebehind?

PDahlenMedlem sedan apr. 2004778 inlägg
#12

Har du importerat det i .aspx sidan?

jboy_87Medlem sedan aug. 20011 099 inlägg
#13

jepp <%@ Import Namespace="project.funktioner"%>

jboy_87Medlem sedan aug. 20011 099 inlägg
#14

nu blir det knass får upp!

Compiler Error Message: BC30389: 'project.funktioner' is not accessible in this context because it is 'Private'.

jboy_87Medlem sedan aug. 20011 099 inlägg
#15

löste det med
Public Module funktioner

143 ms totalt · 3 externa anrop · v20260731065814-full.cf67ef55
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)