The .NET
Framework provides a run-time environment called the common language runtime,
which runs the code and provides services that make the development process
easier.
Code that
you develop with a language compiler that targets the runtime is called managed
code; it benefits from features such as cross-language integration,
cross-language exception handling, enhanced security, versioning and deployment
support, a simplified model for component interaction, and debugging and
profiling services.
The runtime
automatically handles object layout and manages references to objects,
releasing them when they are no longer being used. Objects whose lifetimes are
managed in this way are called managed data. Garbage collection eliminates
memory leaks as well as some other common programming errors. If your code is
managed, you can use managed data, unmanaged data, or both managed and
unmanaged data in your .NET Framework application. Because language compilers
supply their own types, such as primitive types, you might not always know (or
need to know) whether your data is being managed.
The
common language runtime makes it easy to design components and applications
whose objects interact across languages. Objects written in different languages
can communicate with each other, and their behaviours can be tightly integrated
For
an instance, you can define a class and then use a different language to derive
a class from your original class or call a method on the original class. You
can also pass an instance of a class to a method of a class written in a
different language. This cross-language integration is possible because
language compilers and tools that target the runtime use a common type system
defined by the runtime, and they follow the runtime's rules for defining new
types, as well as for creating, using, persisting, and binding to types.
CLR Provide following features:
- Performance improvements.
- The ability to easily use components developed in other languages.
- Extensible types provided by a class library.
- Language features such as inheritance, interfaces, and overloading
for object-oriented programming.
- Support for explicit free threading that allows creation of
multithreaded, scalable applications.
- Support for structured exception handling.
- Support for custom attributes.
- Garbage collection.
- Use of delegates instead of function pointers
for increased type safety and security. For more information about
delegates
No comments:
Post a Comment