Avatar billede websam Nybegynder
06. februar 2007 - 19:49 Der er 17 kommentarer og
1 løsning

Underlig fejl, men måske jeg overser noget ?

Hejsa,

Jeg har noget kode der generere følgende fejl :

    CS0117: 'MemberShip.UsersBLL.UsersBLL_Interface' does not contain a definition for 'GetAllLoginInfo'

Som opstår jeg laver følgende i min page_load :

    ListUsers.DataSource = objUserBLL.GetAllLoginInfo(Convert.ToInt32(Request.QueryString["id"]));
    ListUsers.DataBind();

Dette skulle betyde at jeg i mit interface i business klasse ikke har metoden 'GetAllLoginInfo', men mit interface ser således ud :

public interface UsersBLL_Interface
{
    int CreateLoginInfo(UsersInfo.UsersLoginProperty objInfo);
    ArrayList GetLoginInfo(int Id);
    ArrayList GetAllLoginInfo(int Id);
}

Og selve metoden er også til stede i mit business lag :

public ArrayList GetAllLoginInfo(int Id)
{
    ArrayList Source = (ArrayList)HttpContext.Current.Cache["AllLoginInfo" + Id];
    if (Source == null)
    {
        Source = objDAL.GetAllLoginInfo(new UsersInfo.UsersLoginProperty(Id, "", "", "", "", "", false, 0, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, 0, 0, 0));
        HttpContext.Current.Cache.Insert("AllLoginInfo" + Id, Source, null, DateTime.Now.AddMinutes(15), TimeSpan.Zero);
    }
    else
    {
        HttpContext.Current.Cache["AllLoginInfo" + Id] = Source;
    }
    return Source;
}

Så jeg er lidt uforstående for ovenstående fejl ?

/Websam
Avatar billede kalp Novice
06. februar 2007 - 19:53 #1
du er sikker på  din request.querystring ikke er tom?

og i selve businesslaget siger du metoden er der, men du skal måske sikre dig at paranteser passer.. at metoden er placeret rigtigt i klassen
Avatar billede websam Nybegynder
06. februar 2007 - 20:00 #2
Det er når jeg recompiler jeg får fejlen så selve request.querystring skulle ikke have noget at sige i denne forbindelse, men jeg tjekker lige det andat af en gang til ;o)

/Websam
Avatar billede websam Nybegynder
06. februar 2007 - 20:03 #3
Opsætningen i mit business lag er som følger :

factory klasse
{
}

interface
{
}

internal klasse
{
    Her er alle mine metoder så placeret
}

og umiddelbart ser det hele ud til at være placeret rigtigt.

/Websam
Avatar billede kalp Novice
06. februar 2007 - 20:03 #4
jeg prøver lige at tjekke noget.. for fejlen er vidst i selve interfacet
Avatar billede kalp Novice
06. februar 2007 - 20:05 #5
skriv public foran metoderne i interfacet
Avatar billede kalp Novice
06. februar 2007 - 20:07 #6
og hvis den stadig brokker sig der så lad dem forblive public og prøv at erklære din metode i businesslaget via.

protected override ArrayList GetAllLoginInfo(int Id)
{
}
Avatar billede kalp Novice
06. februar 2007 - 20:08 #7
og du kan også lave dit interface sådan her.. så burde mine andre forslag virke
public abstract class UsersBLL_Interface
{
    int CreateLoginInfo(UsersInfo.UsersLoginProperty objInfo);
    ArrayList GetLoginInfo(int Id);
    ArrayList GetAllLoginInfo(int Id);
}
Avatar billede websam Nybegynder
06. februar 2007 - 20:17 #8
1. public er ikke tilladt i et interface.

2. protected override gav ingen forskel.

3. public abstract class heller ingen hjælp.

Det der er så underligt er at de 2 andre metoder i business laget virker helt uden problemer ?!?
Avatar billede kalp Novice
06. februar 2007 - 20:19 #9
jeg har på fornemmelsen af at det er en dum lille fejl:)
hvis de andre virker:)
Avatar billede websam Nybegynder
06. februar 2007 - 20:20 #10
Og nøjes jeg med at lave en rebuild på mit library med klasse filer så melder den ingen fejl på hverken info klasser, business klasser el. data klasser, det er først når jeg laver rebuild af hele solution at den brokker sig ?!?
Avatar billede websam Nybegynder
06. februar 2007 - 20:21 #11
Ja det er jeg ikke i tvivl om men har fame stirret mig blind på det nu tror jeg *GG*
Avatar billede kalp Novice
06. februar 2007 - 20:24 #12
det er ikke fordi noget at builded i release mode og dit interface kun i debug?
jeg kan ikke selv se det.. jeg har haft nogle problemer som ligner lidt men det hjalp at rebuilde hvert enkelt projekt hver for sig og til sidst rebuilde hele solution.

virker bare ikke med dig
Avatar billede websam Nybegynder
06. februar 2007 - 20:24 #13
Og når jeg skriver objUserBLL. foreslår den selv at jeg kan vælge GetAllLoginInfo hvilket jo klart indikere at metoden findes i business laget
Avatar billede websam Nybegynder
06. februar 2007 - 20:26 #14
Det har så lige prøvet og når jeg så forsøger at builde website kommer den med den irriterende fejl :o((
Avatar billede websam Nybegynder
06. februar 2007 - 20:33 #15
Nu har jeg så lige prøvet at rebuilde i release og så ser det ud til at virke underligt, men jeg håber det var det der skulle til.

/Websam
Avatar billede kalp Novice
06. februar 2007 - 20:35 #16
så kan det tyde på du kan få det til at virke i debug mode også ved at slette debug mappen
Avatar billede websam Nybegynder
17. juni 2007 - 08:58 #17
smid et svar kalp ;o)
Avatar billede kalp Novice
17. juni 2007 - 11:18 #18
:-)
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