[C#/Com]Property word niet ondersteund

Pagina: 1
Acties:

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
Hallo,

Ik heb een vreemd probleempje.

Ik ben een applicatie aan het schrijven waarbij gebruik wordt gemaakt van een (vermoedelijk) Com component.

Ik heb een reference aangemaakt naar het dll bestand en locaal gezet.
Ik heb ook een using statement aangemaakt,

Dit werkt allemaal prima.

nu ga ik een object instantieren:

code:
1
clsSlotClass slot = new clsSlotClass();


als ik nu "slot." intik krijg ik een memberlist zoals normaal en daar zie ik verschillende methoden en properties.

Bijvoorbeeld de property "Status"

code:
1
int x = slot.Status;


als ik nu een compile doe geeft de compiler een error:


C:\Documents and Settings\ips.WILDHER\My Documents\Visual Studio Projects\Adlizard load test\Form1.cs(129): Property, indexer, or event 'Status' is not supported by the language; try directly calling accessor methods 'ADLObjLib.clsSlotClass.get_Status()' or 'ADLObjLib.clsSlotClass.set_Status(ref int)'


ik moet dus volgens de compiler gebruiken:

code:
1
int x = slot.get_Status();


Dat werkt idd maar ik snap niet waarom, deze methode komt namelijk helemaal niet voor in de memberlist. Ook als ik de dll in de object browser bekijk zie ik deze methode niet.

Heeft iemand hier ervaring mee? Ik wil graag weten waarom dit is ondanks dat het wel werkt.

ik ben nog vergeten te vermelden dat het via VB.NET wel lukt om die properties te gebruiken....

[ Voor 6% gewijzigd door 4of9 op 28-09-2005 16:32 ]

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Verwijderd

4of9 schreef op woensdag 28 september 2005 @ 16:26:
code:
1
int x = slot.get_Status();
Getters en getters worden intern (=CLS) als get_PropertyName of set_PropertyName. Getters en setters zijn intern dus eigenlijk gewoon methoden.
Waarom de aanroep in VB.NET wel werkt en C#.net ligt waarschijnlijk dat de types niet bekend zijn bij C#, dus de variabelen in je COM kunnen niet geport worden naar managed types.
Check verder de compile opties van je C# project en check ook welk framework je gebruikt (1.1 of 2.0) Hopelijk zit er wat bij om je probleem op te lossen.

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
Na enig zoek werk kwam ik uit bij een pagina van microsoft waar de compiler error vermeld stond maar echt veel wijzer werd ik er niet van.

thx voor je reply, ik ga even spitten door de compiler options.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...