Extension Methods in C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ExtensionMethodsSample
{
using MyExtensionMethod;
class Program
{
static void Main(string[] args)
{
string firstName = "Anish";
var res = firstName.MySampleExtensionMethod();
Console.ReadLine();
}
}
}
namespace MyExtensionMethod
{
public static class MyExtensionMethod {
public static string MySampleExtensionMethod(this string inputString)
{
return inputString.ToUpperInvariant();
}
}
}
The method and class should be static.
Practical Use
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ExtensionMethodsSample
{
using MyExtensionMethod;
class Program
{
static void Main(string[] args)
{
string firstName = "Anish";
var res = firstName.MySampleExtensionMethod();
Console.ReadLine();
}
}
}
namespace MyExtensionMethod
{
public static class MyExtensionMethod {
public static string MySampleExtensionMethod(this string inputString)
{
return inputString.ToUpperInvariant();
}
}
}
The method and class should be static.
Practical Use
using System; using System.Collections.Generic; using System.Text; using System.Linq; namespace EnumExtension { // Define an extension method in a non-nested static class. public static class Extensions { public static Grades minPassing = Grades.D; public static bool Passing(this Grades grade) { return grade >= minPassing; } } public enum Grades { F = 0, D=1, C=2, B=3, A=4 }; class Program { static void Main(string[] args) { Grades g1 = Grades.D; Grades g2 = Grades.F; Console.WriteLine("First {0} a passing grade.", g1.Passing() ? "is" : "is not"); Console.WriteLine("Second {0} a passing grade.", g2.Passing() ? "is" : "is not"); Extensions.minPassing = Grades.C; Console.WriteLine("\r\nRaising the bar!\r\n"); Console.WriteLine("First {0} a passing grade.", g1.Passing() ? "is" : "is not"); Console.WriteLine("Second {0} a passing grade.", g2.Passing() ? "is" : "is not"); } } } /* Output: First is a passing grade. Second is not a passing grade. Raising the bar! First is not a passing grade. Second is not a passing grade. */
Comments
Post a Comment