<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      XuGang

      記錄一個程序員的成長

       

      C# 擴展方法[學習]

       

      C#中可以定義擴展方法,還可以為集合做擴展方法

      示例如下:

      擴展方法
      using System;
      using System.Collections.Generic; 

      using MySpace; //注意:引入擴展方法的空間

      namespace Con_1
      {
          
      class Program
          {
              
      static void Main(string[] args)
              {
                  
      string str = "{0}先生。".With("XuGang");
                  Console.WriteLine(
      "您好!" + str);

                  
      //2調用集合的擴展方法
                  str.ShowItems<char>();
              }
          }
      }

      namespace MySpace
      {
          
      //擴展方法必須在非泛型靜態類中定義
          public static class MyMethods
          {
              
      //注意:第一個參數使用“this”獲得當前對象
              public static string With(this string _context, params string[] _args)
              {
                  
      return string.Format(_context,_args);
              }


              
      //2為集合做擴展方法
              public static void ShowItems<T>(this IEnumerable<T> _al)
              {
                  
      foreach (var item in _al)
                  {
                      Console.WriteLine(item);
                  }
              }
          }
      }

      注意:

      1  C# 只支持擴展方法,不支持擴展屬性、擴展事件等;

      2  方法名無限制,第一個參數必須帶 this ;

      3  擴展方法的命名空間可以使用 namespace System ,但不推薦;

      4  定義擴展方法的類是靜態類;

       

      在使用this 參數擴展了方法之后,該程序集會在編譯的時候會在對應靜態類上加上類似以下的東西。以便于調用的時候方便找到。
      [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)] 
      public sealed class ExtensionAttribute : Attribute 

        ......
      }


      MSIL 中,自動添加了如下的代碼:
      .custom instance void [System.Core]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) 

      可以看出,在運行時是需要引用 System.Core.dll。

       

      參考來源:

      C#進階 Methods下 Extension Methods

      不能不說的C# 特性-擴展方法

      C# 擴展方法奇思妙用

       

      posted on 2010-12-29 12:33  鋼鋼  閱讀(3808)  評論(1)    收藏  舉報

      導航

      主站蜘蛛池模板: 国产一区二区在线有码| 少妇爽到爆视频网站免费| 国产黄色一区二区三区四区 | 最近中文字幕免费手机版| 精品日韩人妻中文字幕| 男女啪啪永久免费观看网站 | 久久99九九精品久久久久蜜桃| 秋霞av鲁丝片一区二区| 国产馆在线精品极品粉嫩| 朝阳市| 成人无码午夜在线观看| 欧美成人h精品网站| 久久久久亚洲A√无码| 国产老熟女一区二区三区| 国产欧美精品一区二区三区-老狼 真实单亲乱l仑对白视频 | 另类专区一区二区三区| 免费VA国产高清大片在线| 国内免费视频成人精品| 国产品精品久久久久中文| 亚洲av产在线精品亚洲第一站| 少妇高潮太爽了在线视频| 久久亚洲国产成人精品性色| 亚洲日韩精品无码一区二区三区| 无码囯产精品一区二区免费| 成人国产精品日本在线观看| 免费人成视频在线视频电影| 无码av天天av天天爽| 三级国产三级在线| 亚洲国产亚洲国产路线久久| 国产99在线 | 亚洲| 国产精品一区二区中文| 激情综合色综合久久综合| 亚洲国产成人久久一区久久| 国产精品国产精品偷麻豆| 色午夜一av男人的天堂| 国产一区二区三区十八禁| 免费人成网站免费看视频| 国产青榴视频在线观看| 亚洲中文字幕亚洲中文精| 亚洲中文无码av永久不收费| 日韩人妻久久精品一区二区|