Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Handling an object parameter
Message
De
23/04/2013 02:38:22
 
 
À
22/04/2013 15:52:22
Information générale
Forum:
ASP.NET
Catégorie:
Code, syntaxe and commandes
Divers
Thread ID:
01571599
Message ID:
01571645
Vues:
41
>>>Hi
>>>
>>>I want to pass into a c# dll and object parameter like this
>>>
>>> public string PassRecordObjectDynamic(dynamic FoxObject)
>>>
>>>(from Ricks example at
>>>
>>>http://www.west-wind.com/weblog/posts/2010/Sep/13/The-dynamic-Type-in-C-Simplifies-COM-Member-Access-from-Visual-FoxPro
>>>
>>>but I'm not sure how to handle varying numbers of items in the object in the c# dll.
>>>
>>>ie There may be 1 or maybe 10.
>>>
>>>I can control what they are called
>>> like phone1 phone2 etc but I'm not suer what the best way to deal with this in c#
>>>
>>>Some sort of macro substitution seems out (from what I've read)
>>>Any pointers
>>
>>**pointer
>>
>>seriously it might be a good idea (at least easier coding-wise) to add a list of propertynames on the vfp side.
>>After casting to dynamic you just parse that list via dot-notation ? Easy if you can be sure of a specific free field/propertyname, for instance __fldlist, to borrow from the pythonic usage of "internal, do not touch" naming.
>>
>>Update: from glancing over the code in Rick's article foxObject should be object and cast from COM to dynamic.
>>Not clear from the method signature iyou showed.
>>
>>HTH
>>
>>thomas
>
>Thanks Thomas
>
>I can add the properties on the vfp side no problem. I'm not sure about the best way to access their names at the c# end
>
>like phone1 phone2 phone3 etc

if the cast from object to dynamic succeeds, walking the list of propertynames ad calling them via dynmic.singlepropname should work ?
IIRC all the additional/newfound names land in a hashmap and will work at minimally lower speed due to hashmap access.

Update: seems Rick and Craig are guessing as well ;-) Time to copy and paste some code in vfp and dotnet, and if it is planned to be generic add some text about which cases it should cover.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform