Extension method
In this chapter you will learn:
Create extension method
Extension methods add new functions to existing types. Sometime it can be system types. For example, you can add extension method to string type. Extension methods must stay in static class and must be static method itself. The first parameter is marked by this keyword.
using System;/*from j av a2 s .c om*/
public static class StringHelper
{
public static bool IsCapitalized(this string s)
{
if (string.IsNullOrEmpty(s)) return false;
return char.IsUpper(s[0]);
}
}
class Test
{
static void Main()
{
string str = "java2s.com";
Console.WriteLine(str.IsCapitalized());
}
}
The output:
Adding extension method for int
The following code adds extension method for int type.
using System;//from ja v a2 s. c o m
using System.Text;
using System.Reflection;
using System.Runtime.CompilerServices;
public static class MyExtensions
{
public static void DisplayDefiningAssembly(this object obj)
{
Console.WriteLine(obj.GetType().Name);
Console.WriteLine(Assembly.GetAssembly(obj.GetType()));
}
public static int ReverseDigits(this int i)
{
char[] digits = i.ToString().ToCharArray();
Array.Reverse(digits);
string newDigits = new string(digits);
return int.Parse(newDigits);
}
}
class Program
{
static void Main(string[] args)
{
int myInt = 987;
myInt.DisplayDefiningAssembly();
Console.WriteLine("{0} is reversed to {1}", myInt, myInt.ReverseDigits());
Console.ReadLine();
}
}
Next chapter...
What you will learn in the next chapter:
Home » C# Tutorial » Class