How Partial class and constructor works

In this case first we will try to take a look at partial class. In the simple terms Partial classes are used when functionality is distributed. When the assembly is compiled, the partial classes gets combined together to form a single class unit. Have you ever thought what happens with the constructors, properties or methods for that matter.
Are these all also gets combined to form a single unit.
Let's take a look at this with simple partial class definition.

Now when this piece of code is compiled it will try to combine MyPartialClass into a single unit. When similar definitions for constructor and other functions are encountered compiler enters in ambiguity to decide which definition to be picked. It generates compile time error.
We cannot have similar constructor in partial classes. So is methods. Because at compile time partial classes gets combined to form one single unit so it created an ambiguity for constructors and methods.

No comments:

Post a Comment


.net .Net Instrumentation logging .net localization Agile amazon amazon elasticache amazon services AppDomain Application Domain architecture asp ASP.Net authentication authentication mechanisms Byte order mark c# cache cdata certifications class classic mode cloud cloud computing cluster code-behind Combobox compilation Configuration providers configurations connection connectionString constructors control controls contructor CSV CTS .net types conversion database DataGridView DataSource DataTable DataType DBML delegates design pattern dispose double encoding Entity framework Events exception handling expiry fault contracts fault exceptions function pointers functions generics help HostingEnvironmentException IIS inner join instance management integrated mode javascript join left outer join LINQ LINQ join LINQ to SQL memory leak methods microsoft modes in IIS MSIL multiple catch blocks no primary key Nullable Osmos Osmotic Osmotic communication Osmotic communications page events page life cycle partial class PMI preserve precision points private contructor ProcessExit Project management properties property protect connectionString providerName providers query regular expression repository Responsive Web Design return type run-time RWD Saas self join session session expiry sessions singelton singleton pattern software as a service source control system SQLMetal string toolstrip ToolStrip controls ToolStripControlHost tortoise SVN ToString() try catch finally update wcf web application web design web site web.config where-clause xml