Please enable Javascript to correctly display the contents on Dot Net Tricks!

Partial Methods in C Sharp with example

  Author : Shailendra Chauhan
Updated On : 24 Sep 2016
Total Views : 98,865   
Support : C# 3.0,4.0,5.0
 

A partial method is a special method that exist with in a partial class or struct. One part of the partial class or struct have only partial method declaration means signature and another part of the same partial class or struct may have implementation for that partial method. If the implementation is not provided for declared partial method, the method and all calls to that partial methods will be removed at compile time. For more about Partial Class, Interface or Struct refer the article Partial Class, Interface or Struct in C Sharp with example

Why partial methods required ?

Partial methods are particularly helpful for customizing auto generated code by the tool. Whenever the tool generate the code then tool may decalare some partial method and implementation of these methods is decided by the developers.

If you are using entity framework for making DAL then you have seen that the Visual Studio make a partial method OnContextCreated() as shown below. Now the implementation of it depends on you whether you want to use it or not.

 public partial class DALEntities : ObjectContext
{
 #region Constructors
 // Constructors for DALentities
 #endregion 
#region Partial Methods 
partial void OnContextCreated(); 
#endregion 
} 
 // This part can be put in the separate file
public partial class DALEntities : ObjectContext
{
 partial void OnContextCreated()
 { 
 // put method implementation code 
 Debug.WriteLine("OnContextCreated partial method"); 
}
} 

Key points about partial method

  1. Partial methods can be declared or defined with in the partial class or struct.

  2. Partial methods are implicitly private and declarations must have partial keyword.

  3. Partial methods must return void.

  4. Partial methods implementation is optional.

  5. Partial methods can be static and unsafe and generic.

  6. Partial methods can have ref parameters but not out parameters since these can't return value.

  7. You can also make a delegate to a partial method that has been defined and implemented. If the partial method is only defined, you can not.

  8. The signatures of partial method will be same in both parts of the partial class or struct.

 partial class Example 
{ 
partial void ExampleMethod(string s); 
}
 // This part can be put in the separate file 
partial class Example { //Implement the method 
partial void ExampleMethod(String s)
 {
 Console.WriteLine("Your string: {0}", s);
 }
} 
What do you think?

I hope you will enjoy this tricks while programming C#. I would like to have feedback from my blog readers. Your valuable feedback, question, or comments about this article are always welcome.


YOU MIGHT LIKE
Free Interview Books
 
COMMENTS (0)
13 FEB
ASP.NET Core Development (online)

07:00 AM-09:00 AM IST( MON, WED, FRI)

Know More
25 JAN
Angular2 and Angular1 Development (online)

09:00 PM-10:30 PM IST(MON-FRI)

Know More
24 JAN
ASP.NET MVC with Angular2 Development (online)

07:00 AM-09:00 AM IST(Tuesday & Thursday)

Know More
20 JAN
NODEJS & MEAN Stack 2 Development (online)

09:00 PM-11:00 PM IST( MON, WED, FRI)

Know More
15 JAN
PPC Marketing (offline)

04:00 PM-05:300 PM

14 JAN
Xamarin Forms : Build Cross-platform Apps (offline)

05:00 PM-06:30 PM IST

10 JAN
ASP.NET MVC with AngularJS Development (online)

09:00 PM-11:00 PM IST on (TUE, THRU,SAT)

3 JAN
ASP.NET MVC with AngularJS Development (online)

07:00 AM-09:00 AM IST

31 DEC
ASP.NET MVC with AngularJS Development (offline)

09:30 AM-11:00 AM

31 DEC
Angular2 and Angular1 Development (offline)

11:00 AM-12:30 AM

26 NOV
ASP.NET MVC with AngularJS Development (offline)

03:00 PM-04:30 PM

5 NOV
ASP.NET MVC with AngularJS Development (offline)

08:00 AM-09:30 AM

4 SEP
MEAN Stack 2 Development (offline)

11:00 AM-12:30 PM.

BROWSE BY CATEGORY
 
RECENT ARTICLES
SUBSCRIBE TO LATEST NEWS
 
LIKE US ON FACEBOOK
 

Professional Speaks

+