Advanced C++/CLI Mississippi

C++/CLI has a number of advanced features that make developing and maintaining applications easier. Discover how these allow types to be moved between assemblies without breaking existing application, allow fast and efficient interoperability between native functions, and make it possible to create functions that take a variable number of parameters while still maintaining type safety.

Local Companies

i.t.works
(601) 264-0969
6641 hwy 98 west
hattiesburg, MS
Advance Micro Tec Computers
(662) 895-1266
7184 Maygan Dr
Olive Branch, MS
Midsouth I T Department
(662) 893-1914
6831 Crumpler Blvd # 200
Olive Branch, MS
Driver Technology Consulting, LLC
601 316-1692
445 Greenmont Drive
Jackson, MS
Advance Micro Tec Computers
(662) 893-0557
Olive Branch, MS
Cyberonic Internet Communications Inc
(662) 563-8272
260 Highway 35 N
Batesville, MS

Type Forwarding



For large applications and class libraries, managing the dependency hierarchy among the various assemblies that make up the library can be a challenging exercise. To avoid circular references among assemblies, the natural tendency is to place all types in one big assembly. This has a number of issues—bigger assemblies are slower to download and load, rebuild time is slower in development, and allowing a library to collapse into one big entwined mess under the pressure of entropy eventually makes it difficult to use and prevents extensibility. The obvious solution is to factor types into smaller libraries with well-known and well-managed dependency relations.

Even in the best engineered libraries, new technologies and new requirements that make the dependency factoring decisions made in a previous version of the library invalid. Moving types around so that they are again housed in the appropriate assembly is the simplest solution, but this introduces compatibility issues with code compiled against an earlier version, which will fail at runtime when attempting to use a type that is no longer present in an assembly.

To solve this problem, a type can leave a forwarding address that the .NET runtime will use to locate the new location of a particular type. In version x of an assembly, a type called Customer may be present:



public ref class Customer {};


In version x+1 of the assembly, the type may be moved to a new assembly, say NewAssembly.dll. To allow the .NET runtime to find Customer, type forwarding can be used:




#using "NewAssembly.dll"
[assembly:TypeForwardedTo(Customer::typeid)];


Read the Rest of this Article at Developer.com

Featured Local Company

Driver Technology Consulting, LLC

601 316-1692
445 Greenmont Drive
Jackson, MS
http://www.dtc-ms.com

Related Articles
- MSBuild Features for Visual C++ Mississippi
MSBuild is the build platform that Microsoft is using across all developer and related tools moving forward. Visual C++ is the last major compiler offering from Microsoft to move onto the MSBuild platform, with the Visual C++ 2010 release using MSBuild as its native project format. Explore the MSBuild basics from a C++ perspective, and see how it can improve your build process.
- Interacting with .NET WinForms, Part 2 Mississippi
- PostgreSQL Ends the Waiting Game Mississippi
- CNewLabel : Advanced CStatic-Derived Class Mississippi
- Multiple Level Undo/Redo Mississippi
- Deploying Separate User/Site Configurations with ClickOnce Mississippi
Related Articles
- MSBuild Features for Visual C++ Mississippi
MSBuild is the build platform that Microsoft is using across all developer and related tools moving forward. Visual C++ is the last major compiler offering from Microsoft to move onto the MSBuild platform, with the Visual C++ 2010 release using MSBuild as its native project format. Explore the MSBuild basics from a C++ perspective, and see how it can improve your build process.
- Interacting with .NET WinForms, Part 2 Mississippi
- PostgreSQL Ends the Waiting Game Mississippi
- CNewLabel : Advanced CStatic-Derived Class Mississippi
- Multiple Level Undo/Redo Mississippi
- Deploying Separate User/Site Configurations with ClickOnce Mississippi
Related Local Event
OCEANS 2009
Dates: 10/27/2009 - 10/29/2009
Location: Mississippi Coast Coliseum and Convention Center
Biloxi, MS
View Details

Topics: 
Architecture & Design Languages & Tools Project Management Web Services
Database Microsoft & .NET Security Wireless
Java Open Source Techniques XML