zoukankan      html  css  js  c++  java
  • C#扩展方法

    例子:

    using System;
    
    public static class StringExtension
    {
        public static int StringToInt(this string str)
        {
            int len = str.Length;
            int temp = 0;
            for(int i = 0; i < len; i++)
            {
                temp = temp * 10 + str[i] - '0';
            }
            return temp;
        }
    
        public static bool Check(this string str)
        {
            return str == "" || str == null ? false : true;
        }
    }
    
    public static class ObjExtension
    {
        public static string SafeToString(this object obj)
        {
            if (obj == null)
                return "wrong";
            return obj.ToString();
        }
    }
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                string s = "123";
                int i = s.StringToInt();
                Console.WriteLine(i.ToString());
                string s1 = null;
                string s2 = "";
                string s3 = "321";
                Console.WriteLine(s1.Check());
                Console.WriteLine(s2.Check());
                Console.WriteLine(s3.Check());
                Console.WriteLine(s1.SafeToString());
                Console.WriteLine(s3.SafeToString());
                Console.ReadKey();
            }
        }
    }
    

    上面的代码写了Object和String类型的扩展方法。

    几点:

    扩展方法必须在静态类中实现。

    静态类的名字最好为类型名加"Extension"

    扩展方法必须是静态方法。

    参数为this 类型 名字

  • 相关阅读:
    POJ 1741
    POJ 3107
    权限管理
    用户和组
    软件包管理简介
    制作网线
    认识vim编辑器
    linux 进阶命令
    linux 目录&基础命令
    在raw_input()中使用中文提示,在CMD下中文乱码问题解决。。。
  • 原文地址:https://www.cnblogs.com/lMonster81/p/10433798.html
Copyright © 2011-2022 走看看