[VB.NET]Costructor van een structure,wel of niet aangeroepen

Pagina: 1
Acties:

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Ik heb een vraagje over de constructors van een structure
Ik heb dus een structure met daarin een sub new met een parameter die ik niet gebruik, want ik wil hem aanroepen zonder parameter maar dat kan eigenlijk niet.

dit is die structure

Visual Basic:
1
2
3
4
5
6
        Private Structure test
            Sub New(ByVal dummi As Short)
                teststr = New String("", 0, 255)
            End Sub
            Dim teststr As String
        End Structure


en de variabel die ik van dit type declareer is zo (buiten een sub)

Visual Basic:
1
        Private bla As test


en dus geen parameter want dat kan niet :?

verder kan ik bla goed gebruiken.

Nu is de vraag? is die constructor nou wel of niet aangeroepen?

Dat is belangerijk want ik wil die string naar een binary bestand schrijven en heb daarvoor een vaste lengte string nodig, FixedLengthStrings schrijft die niet naar een binary bestand.

Noushka's Magnificent Dream | Unity


Verwijderd

Kan je niet afvragen of die string bestaat? Bijvoorbeeld met IsNothing

code:
1
2
3
4
5
if not isnothing(teststr) then
    messagebox.show("OK")
else
    MessageBox.Show("Niet OK")
end if

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:54
Ik ken geen VB.NET (wel C#), maar declareer je wel op die manier een constructor?

Als dat het geval is, dan zal die constructor die jij gedefinieert hebt, niet aangeroepen worden. De default constructor zal aangeroepen worden.

https://fgheysels.github.io/


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
maar is het niet zo dat als je zelf een constructor maakt, dat die dan automatisch de default constructor override? Alle variabelen verder in de structure worden toch trouwens niet door de default constructor op hun default waarde geinitialiseerd?

Edit:

Heb net getest op die manier van boschpje (dankje), en hij is idd nothing. Hoe kan ik dit dan het beste oplossen?

Noushka's Magnificent Dream | Unity


Verwijderd

Tja das dan wel weer een goede vraag. Waarom gebruik je niet gewoon een class. Eigenlijk is dat een structure met meer mogelijkheden. Heel simpel gezegd dan...

En bij class werkt wat jij wilt wel...

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Een class is dus volledig onmogelijk om in een binair bestand te zetten. Een structure is gewoon alle variabelen die er in zitten achter elkaar gezet. Dat kun je makkelijk weer uitlezen. En nee ik ga geen Object Serialization gebruiken. Het moet super snel zijn. (neutrale toon allemaal trouwens hoor :) )

Edit:

ik heb trouwens getest of die het ook zonder die sub new doet. Dus met in het bestand zetten en daarna weer uitlezen en dat gaat zonder enig probleem. Daar ben ik erg blij mee. :) :) :)

Noushka's Magnificent Dream | Unity


Verwijderd

Oeps ff vergeten dat je hem in binformat wilde proppen. Stom. 8)7 8)7
Pagina: 1