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"
);
}
}
}