an example -
IronPyCommandReg.RegisterCommand("timsapp","TEST","TESTINSPANISH",CMD_MODAL,testcommanddelegate)
to use the dll, all you need to do is add a ref into your project and call IronPyCommandReg.RegisterCommand("mygroup","myglobalcommandname","mylocalcomname",CMD_MODAL,mydotnetfuncname)
It's a static function so you don't need to create an instance, just use the class name then the '.' operator to call the function
where the 'group' is your application group, you add any commands you register to this group typically, global and local names are the command names that you issue at the command promt such as MYLINE, the command flags are just that, you can 'or' them together using the '|' operator, the last param is the function name that acad calls (the callback) when someone enters the command, you may need to create a delegate to pass to this function to work (most probably, a delegate is basically a function pointer used for callbacks).
You need to use that function for every command you want to register before you can use them, what it does is like I just explained, it registers the command name in a stack along with the function (address of) to call. You would typically do this when you load your dll into acad using the IExtensionblah blah (sorry, I forget) interface.
Like I said before, I have no idea if the callback will work but lets see, I also have no idea what Daniel has done with the code with all the '^''s
It seems MS have done another good job of bastardizing a good language
but if it works .....