Gå til innhold

Synligheten av deklarasjoner i forskjellige SCOPE


Anbefalte innlegg

Hei folkens

 

Gitt følgende:

Public Class TestKlasse
.
.
 Public MustOverride Function GetNumberOfRecords as Integer
.
.
End Class

Så i et program som bruker klassen:

Public Class TestWindow
 Private TestObjekt as new LocTestClass
 Public ThisList as List(of String)
.
.
.

Private Class LocTestClass
 Inherits TestKlasse
 Public Overrides Function GetNumberOfRecords() as Integer
   Return ThisList.Count()    <--Feiler
 End Function
End Class

Jeg får melding fra IDE at objektet ikke er shared og det stemmer jo for såvidt. Er det en enkell måte å få den lokale klassen til å kunne bruke samme scope som den klassen som instanserer den? Jeg kan selvsagt legge inn en referanse, men jeg hadde håpet at dette var automatisk på en måte.

I Clarion er jeg vant til følgende:

<Scope1>  Ser DefA og DefB
 DefA, DefB
       <Scope2>  Ser DefA, DefB, DefC og DefD
         DefC, DefD
       <Scope3>  Ser DefA, DefB, DefE og DefF, men ikke DefC og DefD
         DefE, DefF
                  <Scope4>  Ser DefA, DefB, DefE, DefF og DefG
                    DefG

Noen som vet noe om dette?

Lenke til kommentar
Videoannonse
Annonse

Spørs om ikke du missforstod. Her er et eksempel:

Public Class MainClass
   Public DefA As Integer
   Private Class Test
       Public Sub Testing()
           DefA = 1         '< ------Feiler
       End Sub

   End Class
End Class

Og dette feiler uansett hvordan du definerer DefA

Endret av HDSoftware
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...