So I am just starting to learn .net and more specifically vb.net and I am just wondering how many of you out there have setup classes to do common tasks in .net. Do you have reusable dll's that you add to every project? Or do you just copy the code into your newest project? I am just learning so i understand the value of having to sit and think about the what I want to do and type up the code to get it done, but eventually I would like to create some classes that have some properties and methods of things that i commonly do. Why reinvent the wheel everytime you want to do something? I found the following thread that attempted to impliment this on a grand scale but I was wondering how many of you out there have done it for your own personal use and it is worth it.
I think that is a great idea. I know that if my primary focus was on developing .net applications for Autocad I would definitely create base code libraries. My problem is that I only develop about 10% of the time and usually it is just to get something working good enough to get the job done. By the time it is working no one wants to pay me to clean it up and make it pretty. I think there are a lot of us who are self taught and do this in our spare time or don't have the schooling in programming that the professionals do.
Not all of my programs are CAD related (though not to mislead, I was originally a CAD designer, and am self taught at VB.NET) but all of my CAD related programs (and one written by my coworker) reference a "CadTools" DLL. Any time I am writing a new function to perform a general cad related task, I put it in the CadTools project, thus making it available to all the other projects. It just makes good sense.
We also have a code library, "WmrtCoreTools.dll" that contains commonly used subroutines, functions, and commands. It is loaded upon AutoCAD startup (via Registry settings), has some startup functionality, and contains some event handlers that are put in place at startup. Most other dll's written for AutoCAD are demand-loaded and contain this core assembly as a reference. If any function is written that is used in multiple programs, it is moved into this 'Core' library. Many of the functions are overloaded with multiple versions that support different situations.