C#拡張メソッドの導入例

黄舟
黄舟オリジナル
2017-03-03 13:35:581303ブラウズ

C#拡張メソッド入門例

拡張メソッドの定義:

l は静的クラスである必要があります, 静的メソッド

lの最初のパラメータには、このメソッドがどの型に割り当てられているかを示すキーワード"this"が含まれています

コードの説明: ここでの例は、静的クラス myExtension、 拡張メソッド Add を作成することです。これは、型 INT のすべての数値がこれを呼び出す機能を持つことを意味します Addメソッドでは、MyExtensionの名前空間を導入することが条件となります。

使用法を見てみましょう:

このコードは何ですかdos は型の数値を取得するステートメントです int

として割り当て、Add メソッドを呼び出します。次のように IntelliSense が表示されます。 拡張メソッドがマークされていることがわかります。下向きの矢印が付いています。次に、それを呼び出して、任意の int

を与えます。

params キーワードを使用したため、自動的に int 配列に解析され、その後 rlt 変数を使用してそれを表示すると、結果が表示されます:

例 2:


英語を標準化できる文字列を拡張するメソッドを作成しました。たとえば、hEllo WORld に渡されると、Hello World が出力されます


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace wpfLab1
{
    public static class StrExtensenClass
    {
        public static string GetNormalFormat(this string s)
        {
            s = RemoveExtraSpace(s);
            string[] words = s.Split(' ');
            string ret = "";
            foreach (var word in words)
            {
                ret += StrFstChrUpr(word) + " ";
            }
            return ret;
        }


        public static string RemoveExtraSpace(this string s)
        {
            if (s == null || s.Length <= 1)
            {
                return s;
            }


            bool lastChrIsSpace = false;
            string ret = "";
            foreach (var chr in s)
            {
                if (chr == &#39; &#39;)
                {
                    if (lastChrIsSpace)
                    {
                        continue;
                    }
                    else
                    {
                        lastChrIsSpace = true;
                        ret += chr;
                    }
                }
                else
                {
                    ret += chr;
                    lastChrIsSpace = false;
                }


            }
            return ret;
        }


        private static string StrFstChrUpr(string s)
        {
            if (s == null || s.Length < 1)
            {
                return s;
            }
           
            string lowerStr = s.ToLower().Remove(0, 1);
            string upperStr = Char.ToUpper(s[0]).ToString();
            return (upperStr + lowerStr);
        }
    }
}

使用:

りー

上記は C# 拡張メソッドの紹介サンプルの内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) を参照してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。