COM is the predecessor technology to .NET. COM defules a component model where components can be written in different programming languages. A component written with C++ can be used from a Visual Basic client. Components can also be used locally inside it process, across processes, or across the network. Does this sound familiar? Of course, .NET has similar goals. However, the way in which these goals are achieved is different. The COM concepts became more and more cemplex to use and turned out not to be extensible enough .. NET fulfills goals similar to those of COM, but introduces new concepts to make your job easier.
Even today, when using COM interop the prerequisite is to know COM. It doesn’t matter if .NET components are used by COM clients or COM components are used by .NET applications, you must know COM. So, this section compares COM and .NET functionality.
If you already have a good grasp of COM technologies, this section may be a refresher to your COM knowledge. Otherwise, it introduces you to the concepts of COM – now using .NET – that you can be happy not to deal with anymore in your daily business.
However, all the problems that came with COM still apply when COM technology is integrated in .NET applications.
COM and .NET do have many similar concepts with very different solutions, including the following:
- Freeing memory
- Method binding
- Data types
- Error handling
- Event handling