>>>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.