
Partial Classes in ASP.NETPartial class is a new functionality that is included in Visual Studio .Net 2005 and is supported in ASP.Net 2.0. This new functionality helps you to split a single class into multiple partial classes. These partial classes can be in different individual files.
In the earlier
versions of Visual Studio .Net 2005, while you create an ASP.Net application,
you might have seen that a single class has to be in a single file. You
will be beginning a class and ending that class in the same file. It was
not possible to split a single class across multiple files. This new feature,
partial class, allows you to allot different developers to develop the
code for different functionalities that are available in a single class.
These functionalities can be developed in partial classes and then compiled
to form the required assembly. In the previous
versions of the Visual Studio .Net IDE, when you create a new ASP.Net
webform, the name of the web form is used as a class in the code-behind
file. Apart from that, you would have seen lots of code generated by Visual
Studio .Net itself. In the latest version of the Visual Studio .Net IDE,
the codes that are generated by Visual Studio .Net are in a separate file
as a partial class. Hence a user who creates a new webform would see a
partial class for that page, when the user uses the code-behind file.
This way the code that is seen in the code-behind file is minimal for
a particular webform. The compilers
for VB.Net or C# look for the partial classes and integrate them while
compiling, to form the intermediate language. This intermediate language
is the same when compared to the intermediate language that is generated,
if all the partial classes are combined to form a single class in a single
file. There is no modification done in the CLR for the implementation
of partial classes. Let us look
at a sample code for the implementation of the partial classes. The code
would have an interface which is implemented across different classes.
When compiled, the compiler would integrate all the partial classes and
see whether all the methods of the interface have been implemented. If
it is not, then the compiler will throw an error. If all the interfaces
are implemented then it will compile to form the intermediate language.
The code given below gives the implementation of the partial classes. '-----File_1.vb Partial Class
MyPartialClass '-----File_2.vb Public Sub
PrintEmployeeName(string str) '-----File_3.vb There are
three class files namely, File_1.vb, File_2.vb, and File_3.vb. The first
file has the interface IPartialClass declared and a partial class MyPartialClass
which declares a string variable. The second file has the same partial
class which implements the interface IPartialClass. This interface has
two methods to be implemented. The first method is implemented in the
second file and the second method is implemented in the third file. Altogether,
all the methods are implemented in some partial class. It is not necessary
for the class in the first file File_1.vb to have the Partial keyword.
But if you are writing your code for partial classes in C#, it is necessary
for all the classes to have the partial keyword. This is a
significant difference between VB.Net and C# in using partial classes.
Note that the method PrintEmployeeName() is implemented in the third file
File_3.vb and the method PrintEmployeeName(string str) is implemented
in the second file File_2.vb. The string variable sName that is used in
the third file is declared in the first file File_1.vb. Create a
new webform in your project and add a button control. In the click event
of the button control, write the code which calls both the methods of
the interface as given in the above code listing. Upon compilation, the
.aspx page will execute properly displaying the appropriate strings. This
proves that although the classes are split in different files, the usage
of the Partial keyword helps in binding all the partial classes together
during compilation and produces a single intermediate language file. The
CLR finds no difference in the intermediate language, even if the IL is
produced by having a single class in a single class file, where all the
methods of the interface are implemented in a single class in a single
class file. Since we are dealing with different files for a single class,
even if you missed out implementing one method of an interface, the intellisense
of Visual Studio .Net 2005 will point it out to you, thus enabling you
to implement the missed out method of the interface. This is one among
the advantage of using a Visual Studio .Net 2005 IDE for ASP.Net 2.0 applications. This type
of splitting the class file is particularly useful if a single class runs
to thousands of lines of code with different functionalities across different
methods. Productivity of the project team is increased since a single
class file is split across the team members and implemented as partial
classes.
_______________________________________________________________________
FREE
Subscription
Subscribe
to our mailing list and receive new articles Note
: We never rent, trade, or sell my email lists to Visit
.NET Programming Tutorial Homepage ______________________________________________________ |