BrimbaMedlem sedan dec. 19995 875 inlägg Gomiddag!
Jag vill inkludera en "global" fil med vanliga funktioner, klasser och subbar i mina sidor. Vad jag antar kallas Code Behind.
hur som helst så har jag försökt konvertera min .cs fil till en dll och lägga den i /bin/ katalogen i min mapp där hemsidan ligger:
exempelvis:
csc /t:library /out:bin\Brimba.dll brimba.cs
i min brimba.cs fil ser det ut såhär:
namespace Brimba {
class Brimpa {
}
}
jag försöker importera med:
<%@ import namespace="Brimba.Brimpa" %>
sedan anropa med
public void SendMail ( Object obj, EventArgs e ) {
Brimpa.Brimpa = new Brimpa();
}
Som ni säkert förstår så fungerar inte detta helt smärtfritt
Jag får felmeddelande:
CS0122: 'Brimba.Brimpa' is inaccessible due to its protection level
Någon som vet vad jag gör för fel?
Vad kan jag göra istället?
Hjälp!
aengmanMedlem sedan dec. 200150 inlägg Har inte gjort någon ingående analys av problemet.
Felmeddelandet tycker jag tyder på att Brimba.Brimba har fel "behörighet". För att den skall kunna utnyttjas av dess "arvingar" krävs det att den är (minst) protected.
BrimbaMedlem sedan dec. 19995 875 inlägg Hur skulle jag skriva då?
Hej!
Om du inte deklarer vilket skydd en klass ska ha är standard private(samma som för variabler). Ex:
namespace Finagrejer
{
class finklass // = private class finklass
{
....
}
}
red: Blev nog lite otydligt men aengmans svar löser nog ditt problem
aengmanMedlem sedan dec. 200150 inlägg public class ClassName {}
alternativt
protected class ClassName() {}
BrimbaMedlem sedan dec. 19995 875 inlägg då fick jag:
Brimba.cs(7,2): error CS1527: Namespace elements cannot be explicitly declared as private or protected
namespace Brimba {
protected class Brimpa {
}
}
aengmanMedlem sedan dec. 200150 inlägg Prova med public class ClassName() {}
BrimbaMedlem sedan dec. 19995 875 inlägg Det fungerade bättre men nu får jag istället
CS0118: 'Brimba.Brimpa' denotes a 'class' where a 'variable' was expected
Brimba.Brimpa = new Brimpa();
Ändra till:
//namespacet ska inte vara med när du skapar ett objekt
Brimpa b = new Brimpa(); //b blir ett objekt av typen Brimpa
BrimbaMedlem sedan dec. 19995 875 inlägg Fungerar klockrent.
Jag ber att få tacka för denna guidning!