文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C#中扩展方法,C++语言如何实现类似的扩展?

C#中扩展方法,C++语言如何实现类似的扩展?

时间:2011-03-08  来源:王祖文 邪恶

今天看了一个C#的程序,是关于扩展方法的代码编写和调用。想了好半天但是还是没能参透其中奥妙。

以我个人目前菜鸟的水平,如果要对一个类添加额外的方法除了在本类中进行加方法以外,另外一个方法就是继承该类,在子类中添加方法。

但在C# 语言里出现了一个新的技术(解决方案)名叫扩展方法。

C#代码如下:

 class Program
    {
        static void Main(string[] args)
        {

            // 调用扩展方法

            Console.WriteLine("123456".MD5Hash());

            Console.WriteLine("1".In(new[] { "1", "2", "3" }));
        }
    }


    public static class helper
    {

        public static string MD5Hash(this string s)
        {

            return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(s, "MD5");

        }

        public static bool In(this object o, IEnumerable b)
        {

            foreach (object obj in b)
            {

                if (obj == o)

                    return true;

            }

            return false;

        }

    }

运行结果:

C#语言居然可以这样子实现,佩服!

我把这个贴出来就是希望高人看到。解答下原因,如果用C++实现类似C#扩展方法一样的功能,那么这样的C++代码该怎样写?

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载