Minifycode 2020-01-15 Viewed 1.4K times C#

In C#, It is introduced in C# 3.0 the extension method concept allows you to add new methods in the existing class or in the structure without modifying the 
source code of the original type and you do not require any kind of special permission from the original type and there is no need 
to re-compile the original type.

We create a static class and two static methods, one for the total word count in a string and another for the total number of characters in a string without a space.

using System;  
namespace ExtensionMethodsExample  
{  
   public static class Extension  
    {  
       public static int CountWord(this string str)  
       {  
           string[] userString = str.Split(new char[] { ' ', '.', '?' },  
                                       StringSplitOptions.RemoveEmptyEntries);  
           int TotalwordCount = userString.Length;  
           return TotalwordCount;  
       }   
       public static int TotalCharWithoutSpace(this string str)  
       {  
           int totalCharWithoutSpace = 0;  
           string[] userString = str.Split(' ');  
           foreach (string stringValue in userString)  
           {  
               totalCharWithoutSpace += stringValue.Length;  
           }  
           return totalCharWithoutSpace;  
       }  
    }  
} 

We create an executable program that has a string as an input and uses an Extension Method to count 
the total words in that string and the total number of characters in that string then show the result.

using System;  
namespace ExtensionMethodsExample  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            string userSentance = string.Empty;  
            int totalWords = 0;  
            int totalCharWithoutSpace = 0;  
            Console.WriteLine("Enter the word");  
            userSentance = Console.ReadLine();  
            //calling Extension Method WordCount  
            totalWords = userSentance.CountWord();  
            Console.WriteLine("Total number of words is:-"+ totalWords);  
            //calling Extension Method to count character  
            totalCharWithoutSpace = userSentance.TotalCharWithoutSpace();  
            Console.WriteLine("Total number of character is :"+totalCharWithoutSpace);  
            Console.ReadKey();  
        }  
    }  
}

Advantage:-

It can also work with sealed class.
You can add new methods in the existing class without modifying the source code of the existing class.
The main advantage of the extension method is to add new methods in the existing class without using inheritance.

Working fine....

Extension Method in C#
C# is a programming language developed by Microsoft that runs on the .NET Framework. C# is used to develop web, desktop, mobile, games and much more application. C# is a object-oriented programming language developed by Microsoft within its .NET Framework. Led by Anders Hejlsberg, your basic C# programming and will also take you through various advanced concepts related to C# programming language. C# such as control statements, objects and classes, inheritance, constructor, destructor, this, static, sealed, polymorphism, abstraction, abstract class, interface, File IO, Collections, namespace, encapsulation, properties, indexer, arrays, strings, regex, exception handling, multithreading etc. For example... using System; namespace MinifyCode { class Program { static void Main(string[] args) { Console.WriteLine("Hello Minify Code"); } } } Output: Hello Minify Code In this article you will learn, what is server side controls. We will discuss each of these objects in due time. In this tutorial we will explore the Server object, the Request object, and the Response object. Session Application Cache Request Response Server User Trace Server Object The Server object in Asp.NET is an instance of the System.Web.HttpServerUtility class. The HttpServerUtility class provides numerous properties and methods to perform many type of jobs. Methods and Properties of the Server object The methods and properties of the HttpServerUtility class are exposed through the intrinsic Server object provided by ASP.NET. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Optimization; using System.Web.Routing; using System.Web.Security; using System.Web.SessionState; using System.Data.Entity; namespace minifycode { public class Global : HttpApplication { void Application_Start(object sender, EventArgs e) { // Code that runs on application startup RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); // Initialize the product database. Database.SetInitializer(new ProductDatabaseInitializer()); // Create custom role and user. RoleActions roleActions = new RoleActions(); roleActions.AddUserAndRole(); // Add Routes. RegisterCustomRoutes(RouteTable.Routes); } void RegisterCustomRoutes(RouteCollection routes) { routes.MapPageRoute( "ProductsCategoryRoute", "Category/{categoryName}", "~/ProductList.aspx" ); routes.MapPageRoute( "ProductNameRoute", "Product/{productName}", "~/ProductDetails.aspx" ); } } }