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 }
  • 相关阅读:
    svn安装使用
    mysql安装使用
    iframe使用
    Confluence 6 自定义你的空间
    Confluence 6 设置其他页面为你空间的主页
    Confluence 6 设置你的个人空间主页
    Confluence 6 空间中的常用宏
    Confluence 6 如何考虑设置一个空间的主页
    Confluence 6 设置一个空间主页
    Confluence 6 如何让我的小组成员知道那些内容是重要的
  • 原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/5958925.html
Copyright © 2011-2022 走看看