Avatar billede nih Novice
13. januar 2005 - 00:01 Der er 18 kommentarer og
1 løsning

projekter, asembly referencer og namespace forviring

Hej

Jeg roder med en solution i VS.NET der indeholder flere projekter:
p1: mit buisness tier

namespace Kif.WebModules.Person.Buisness
{
public class Person : Kif.WebModules.Buisness.BizObject
{
    public Person()
        {}
    public  DataSet hentAlle()
    {
    Data.Person dataPers = new Data.Person();
    return dataPers.HentPersAlle();
    }

p2: min aspx side
using Kif.WebModules.Person.Buisness;

namespace Kif.Brydning.Web.Modules.Personer

private void bindGrid()
{   
Person p = new Person();
           
DataView dvPer = p.hentAlle().Tables[0].DefaultView;
}

Her kommer så det store spørgsmål:
Hvorfor kan jeg ikke hente mit dataset sådan her: ????

private void bindGrid()
{   
DataView dvPer = Buisness.Person.hentAlle().Tables[0].DefaultView;
}

Jeg har mange problemmer med at lave referencer til mine andre projkter. Jeg sletter og tilføjer referencerne hele tiden - og en gang imellem får jeg adgang til de public metoder jeg retteligt har krav på. Er der nogen anden måde end højreklikke på projekt og add reference ??

Niels
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:05 #1
det er en fin nok måde at lave referencer på... det er ikke sådan at du laver filreferencer vel ?
mvh
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:06 #2
altså.... at du browser hen til den assembly du har bygget, og så laver referencen til den.
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:07 #3
du bør kunne kalde sådan her :
DataView dvPer = Person.hentAlle().Tables[0].DefaultView;
Avatar billede nih Novice
13. januar 2005 - 00:10 #4
Jeg får kun to mulige metoder: Person.equals og referenceEquals at vælge imellem
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:12 #5
oki... og du laver projectreferencer og ikke filreferencer ikke ?
mvh
Avatar billede nih Novice
13. januar 2005 - 00:15 #6
Det tror jeg da :)

Højreklik på projkt 'p2' - addreference - sidste faneblad finder jeg p1

Dermed er p1 med i p2's reference liste (der står ikke noget namespace)

Niels
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:18 #7
ok - den er god nok. så er det en projektreference.
er copy local sat true på referencen (det er normalt default på projektreferencer), og har du lagt mærke til om der kommer advarsler til dig i output-vinduet ?
mvh
Avatar billede nih Novice
13. januar 2005 - 00:22 #8
copy local = true

fejl:
E:\KIF\kifbrydning\Modules\Personer\Bruger.aspx.cs(58): An object reference is required for the nonstatic field, method, or property 'Kif.WebModules.Person.Buisness.Person.hentAlle()'
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:24 #9
ahh... det er bare en fejl i sourcekoden - hentAlle er ikke static, så du skal lave en
DataView dvPer = new Buisness.Person().hentAlle().Tables[0].DefaultView;
Avatar billede nih Novice
13. januar 2005 - 00:25 #10
Super - ehh hvad betyder static ??
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:26 #11
(eller instantiere den først, og bruge den efterfølgende :o).

du vil gå få dine public ikke-static metoder at se i intellisense, hvis du dotter på en instans af klassen.

mvh
Avatar billede nih Novice
13. januar 2005 - 00:27 #12
husk lige at smide et svar - og tak for hjælpen

Niels
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:31 #13
static betyder at det er noget der er accosieret med typen, og ikke en instans af typen.
Prøv at tage en kigger på nedenstående :

public class SomeClass
{
  public static string StaticString
  {
    get
    {
      return "string";
    }
  }

  public string InstanceString
  {
    get
    {
      return "string";
    }
  }
}

den statiske property kan du kalde sådan her :
SomeClass.StaticString;
men ønsker du at kalde instance-metoden skal du instantiere et objekt af typen først :

someInstance = new SomeClass();
someInstance.InstanceString;

Kan du se fidusen i det - eller er var det en skidt forklaring ?

mvh
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:32 #14
oki - et svar skal du få :o)
mvh
Avatar billede nih Novice
13. januar 2005 - 00:35 #15
Fin forklaring :o)
Avatar billede snepnet Nybegynder
13. januar 2005 - 00:37 #16
alletiders - god fornøjelse med det hele :o)
mvh
Avatar billede erikjacobsen Ekspert
13. januar 2005 - 00:41 #17
Og nu er det ikke for at drille, men
    Buisness
staves
    Business
;)
Avatar billede erikjacobsen Ekspert
13. januar 2005 - 00:42 #18
Avatar billede nih Novice
13. januar 2005 - 08:11 #19
erikjacobsen ->
Jeg har større problemmer med at huske om jeg har skrevet med stort eller lille.
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