|
| InstanceOf problem med klasser Fra : Ukendt |
Dato : 19-04-02 17:59 |
|
Hej,
Jeg er fornyeligt blevet kastet ud i et VB-projekt, og må desværre indrømme
at min hukommelse ikke er så god som jeg kunne håbe.
Jeg kan dælme ikke huske, og ej heller finde noget i dokumentationen, om det
er muligt at checke på om en klasse er af en bestemt type.
I java ville man gøre noget lignende :
if( obj instanceof String)
{
bla bla.....
return true;
}
Hvordan gøres det samme i VB ( vel og mærket med en brugerdefineret klasse )
???
Søren Staun Jørgensen
| |
Rayman (19-04-2002)
| Kommentar Fra : Rayman |
Dato : 19-04-02 22:33 |
|
Du kan bruge TypeOf() til at bestemme typen, og Is (if a is b then) til at
afgøre om to objekter peger på det objekt.
Mvh. Rayman
"Soren Staun Jorgensen" <ssj(at)cadeye(dot)dk> wrote in message
news:3cc04d1e$0$10875$ba624c82@nntp01.dk.telia.net...
> Hej,
>
> Jeg er fornyeligt blevet kastet ud i et VB-projekt, og må desværre
indrømme
> at min hukommelse ikke er så god som jeg kunne håbe.
>
> Jeg kan dælme ikke huske, og ej heller finde noget i dokumentationen, om
det
> er muligt at checke på om en klasse er af en bestemt type.
> I java ville man gøre noget lignende :
>
> if( obj instanceof String)
> {
> bla bla.....
> return true;
> }
>
> Hvordan gøres det samme i VB ( vel og mærket med en brugerdefineret
klasse )
> ???
>
> Søren Staun Jørgensen
>
>
>
>
| |
Tomas Christiansen (20-04-2002)
| Kommentar Fra : Tomas Christiansen |
Dato : 20-04-02 00:04 |
|
Soren Staun Jorgensen skrev:
> if( obj instanceof String)
....
> Hvordan gøres det samme i VB ( vel og mærket med en brugerdefineret
klasse )
Hvis du bruger TypeName() får du returneret typen som en streng.
Det har den fordel frem for f.eks. VarType at du kan få returneret
navnet på den klasse, som du har instantieret et objekt af.
Eksempel:
Dim o As Object
Set o = New Scripting.FileSystemObject
MsgBox TypeName(o)
Vil vise teksten "FileSystemObject". Det virker også med dine egne
VB-klasser.
-------
Tomas
| |
|
|