zoukankan      html  css  js  c++  java
  • C# Extension Methods

    In C#, extension methods enable you to add methods to existing class without creating a new derived class.

    Extension methods 要求:

    1. Define a static class to contain extension method. This class must be visible to client code.
    2. Implement the extension method like a static method, but add "this" modifier before the first parameter.
    3. The first parameter specifies the type that this extension method operates on.
     1 using System.Globalization;
     2 using System.Threading;
     3 
     4 namespace Library
     5 {
     6     public static class StringExtensions
     7     {
     8         //static method
     9         //public static string ConvertToTitleCase(this string source)
    10         //extension method
    11         public static string ConvertToTitleCase(this string source)
    12         {
    13             CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
    14             TextInfo textInfo = cultureInfo.TextInfo;
    15 
    16             return textInfo.ToTitleCase(source);
    17         }
    18     }
    19 }

    Extension methods call:

     Call extension method  like extension method is an instance method on the type.

     1 namespace Library_Simple
     2 {
     3     //Import extension method namespace
     4     using Library;
     5     class Program
     6     {
     7         static void Main(String[] args)
     8         {
     9             string source = "the return of the king";
    10             string extected = "The Return Of The King";
    11 
    12             //static method
    13             //string result = StringExtensions.ConvertToTitleCase(source);
    14             //extension method
    15             string result = source.ConvertToTitleCase();
    16 
    17             Assert.IsNotNull(result);
    18             Assert.AreEqual(expected, result);
    19         }
    20     }
    21 }
  • 相关阅读:
    C#截取字符串的方法小结
    使用苏飞httphelper开发自动更新发布文章程序
    公务员“上班睡觉”为何会被强势围观?
    透明代理和匿名代理的区别
    Linux基础命令---ipcalc计算IP
    Linux基础命令---apwatch
    Linux基础命令---arping
    Linux基础命令---arp
    Linux基础命令---ifdown、ifup
    Linux基础命令---ifconfig
  • 原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/5958925.html
Copyright © 2011-2022 走看看