Skip to main content

Partial class in C#

Partial class in C# Explained

partial class is useful to split the functionality of a particular class into multiple class files and all these files will be combined into one single class file when the application is compiled.

 

While working on large scale projects, multiple developers want to work on the same class file at the same time. To solve this problem, C# provides an ability to spread the functionality of a particular class into multiple class files using partial keyword.

          

In C#, we can use partial keyword to split the definition of a particular classstructureinterface or a method over two or more source files.

 

Following is the example of splitting the definition of Person class into two class files, Person1.cs and Person2.cs.

 

First file (Person1.cs)

    public partial class Person

    {

        private string Name;

        private string Location;

        public Person(string name, string location)

        {

            Name =name;

            Location = location;

        }

    }

 

From above sample code, we created a partial class called Person in Person1.cs class file using partial keyword with required variables and constructor.

 

Second File (Person2.cs)

 

    public partial class Person

    {

        public void GetPersonDetails()

        {

            Console.WriteLine("Name: " + Name);

            Console.WriteLine("Location: " + Location);

        }

    }

If you observed from the above code, we created a partial class called Person in Person2.cs class file using partial keyword with GetPersonDetails() method.

 

When we execute the above code, the compiler will combine these two partial classes into one Person class as shown below.

 

    public class Person

    {

        private string Name;

        private string Location;

        public Person(string name, string location)

        {

            Name = name;

            Location = location;

        }

        public void GetPersonDetails()

        {

            Console.WriteLine("Name: " + Name);

            Console.WriteLine("Location: " + Location);

        }

    }

 

This is how the compiler will combine all the partial classes into single class while executing the application in C#.

 

Rules to Implement Partial Class

In C#, we need to follow certain rules to implement a partial class in our applications.

·        To split the functionality of classstructureinterface or a method over multiple files we need to use partial keyword and all files must be available at compile time to form the final type.

  • The partial modifier can only appear immediately before the keywords classstruct or interface.
  • All parts of partial type definitions must be in the same namespace or assembly.
  • All parts of partial type definitions must have the same accessibility, such as publicprivate, etc.
  • If any partial part is declared as abstractsealed or base, then the whole type is considered as abstract or sealed or base based on the defined type.
  • In C#, different parts can have different base types but the final type will inherit all the base types.
  • Nested partial types are allowed in partial type definitions.

Partial Class Example in C#

The following code is an example of defining partial classes using partial keyword in C# language.

 

using System;

namespace CsharpnaijaTutorial

{

    public partial class Person

    {

        private string Name;

        private string Location;

        public Person(string name, string location)

        {

            this.Name = name;

            this.Location = location;

        }

    }

    public partial class Person

    {

        public void GetPersonDetails()

        {

            Console.WriteLine("Name: " + Name);

            Console.WriteLine("Location: " + Location);

        }

    }

    class Program

    {

        static void Main(string[] args)

        {

            Person person = new Person("Musa Sule", "Abuja");

            person.GetPersonDetails();

            Console.WriteLine("\nPress Enter Key to Exit..");

            Console.ReadLine();

        }

    }

}

 

 

When you run the above C# program, we will get the result as shown below.


 

Thank you

 

References

1.       Tutlane

Geeksforgeeks

Comments

Popular posts from this blog

The String.Join Method in C# Explained

The String.Join Method in C#   The string.Join concatenates the elements of a specified array or the members of a collection, using the specified separator between each element or member. Overloads of string.Join Method Description Join(Char, Object[]) Concatenates the string representations of an array of objects, using the specified separator between each member. Join(Char, String[]) Concatenates an array of strings, using the specified separator between each member. Join(String, IEnumerable<String>) Concatenates the members of a constructed IEnumerable<T> collection of type String, using the specified separator between each member. Join(String, Object[]) Concatenates the elements of an object array, using the specified separator between each element. Join(String, String[]) Concatenates all the elements of a string array, usi...

Most Popular Programming Languages in 2020

Most Popular Programming Languages in 2020 In this blog post, you will learn about the most popular programming languages in 2020 for creating the best web applications. Check its pros and cons. Analyzed by technostacks Not very long ago, just a few people were considered to be computer programmers, and the general public viewed them with awe. In this digital age that we are now living in, however, a large number of IT jobs need a solid grasp of one or more programming languages. Whether one wants to develop a mobile app or get a certification for having programming knowledge, or even to learn new skills, one needs to opt for the right programming language. Below mentioned eight most popular programming languages which are in demand for software development and web applications. This is the most used programming languages in 2019 and will be in 2020. For each, there is little information about the language, benefits and its complexity, as well as about its usage. One must...

HashTable in C# with Example

  HashTable in C# with Example Hashtable  is used to store a collection of key/value pairs of different  data types  and are organized based on the hash code of the key.   Generally, the hashtable object will contain buckets to store elements of the collection. The bucket here, is a virtual subgroup of elements within the hashtable and each bucket is associated with a hash code, which is generated based on the key of an element.   In C#, hashtable is same as a  dictionary  object but the only difference is that the  dictionary  object is used to store a key-value pair of same  data type  elements.   When compared with  dictionary  object, the hashtable will provide a lower performance because the hashtable elements are of object type so the boxing and unboxing process will occur when we are storing or retrieving values from the hashtable.   C# HashTable Declaration Hashtable is a non-generic type...