Ha, you wrote this back in June, and I just stumbled onto them now.
I saw that Tony T did some for resultbuffer things, but now I have a much bigger need for them.
I know people say to inherit instead of extend, and in my situation, I do have the code so could inherit.
What I have is a set of objects not relient on AutoCad.
I created an "alignment" (just a polyline really) object, and its properties are all non-acad derived.
However, I want to add methods like "Draw" which would involve acad of course, or bricscad someday too.
I will have two or more sets of draw function definitions eventually.
I had thought about using partial classes, but my alignment class is in a different project than my Acad based functions.
I want that core class to be completely standalone from the cad specific parts, hence the separation.
So it seems like the answer is extension methods.
For the acad project, I have an AcadExtension project. For Bricscad, an BCadExtension project, all with same extension methods and signatures.
The extension projects become like plug-ins specific to some circumstances. If you keep namespaces the same, the rest of the projects do not notice (code-wise), except for the reference path that must change for the right plug-ins. Any comments on this approach?