Backing up a couple of steps, with a couple of questions - why not create a method to define a LISP function which gets the data directly? Is it really necessary to store this data for later use, or is this just a method for transferring data?
Good question, main reason is that the data is
stored and shared for processing with any language
In other words transfering/modifying data from the same 'place' that its easy obtainable/assignable/manipulatable via multiple languages (but you have to be good enough atleast at one, ofcourse).
So one could write his own custom function/method in his language, and use the data from there as arguments for the function/method to process (and even rewrite).
A practical reason would be to create a "to-do-list" for every individual .dwg file (so the data represents some notes for the building project).
Writing a dialog with LISP+DCL that should simulate a
multiline textbox, results in a quite user-unfriendly result (
demo).
But thank
god .NET and your help .NET guys that make the prompting like it
should be (its like switching from east to west europe).
As you can see in the 2nd demo
it uses the approach you suggested, then uses the above LISP functions to store and reveal the data.
Last reason is just curiosity - with lisp I could access/modify the data, but IDK how its done in C#, so I could bridge the languages from there.
Extension dictionaries and xrecords are no different whether you are doing C# or LISP. It's a name-indexed, hierarchical storage system much like XML elements or even the folder system in Windows Explorer. Dictionaries can contain other Dictionaries as well as xrecords, each of which can be accessed by name or by iteration. Xrecords contain a non-structured list of data (through a ResultBuffer in dotNET or an assoc-list of dotted pairs in LISP).
Unfortunately I'm not familiar which class of which library to explore, in order to create an Xrecord.. and perhaps calling the method correctly to asign the data.
So was looking for an example.