黑马程序员技术交流社区

标题: 委托运行问题 [打印本页]

作者: 郝滨    时间: 2013-2-26 14:06
标题: 委托运行问题
namespace kongzhi
{
    class Program
    {
        static void Main(string[] args)
        {
            Class1 c1 =new Class1();
            string[] names = {"kobe","james","bosh","wade","Tmac"};
            c1.bianhuan(names);
            foreach (var item in names)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("OK");
            Console.ReadKey();
        }
    }
}
这是控制代码
namespace bianhuan
{
    public class Class1
    {
                public void bianhuan(string[] str, hbdelegate bh)
        {
            for (int i = 0; i < str.Length; i++)
            {
                str = bh(str);
            }
        }
这是转换类
namespace bianhuan
{
    class hbdelegate
    {
        public delegate string bhdelegate(string msg);
    }
}
委托类hbdelegate 要怎么写 ? 现在错误是bianhuan可访问性不一致

作者: 朱京辉    时间: 2013-2-26 17:18
  1. namespace kongzhi
  2. {
  3.     class Program
  4.     {
  5.         static string alter(string str)
  6.         {//定义一个改变string的方法
  7.             return str + "!";
  8.         }
  9.         static void Main(string[] args)
  10.         {
  11.             Class1 c1 =new Class1();
  12.             string[] names = {"kobe","james","bosh","wade","Tmac"};
  13.             c1.bianhuan(names,alter); //这里需要两个传入参数,第二个是方法
  14.             foreach (var item in names)
  15.             {
  16.                 Console.WriteLine(item);
  17.             }
  18.             Console.WriteLine("OK");
  19.             Console.ReadKey();
  20.         }
  21.     }
  22. }

  23. namespace bianhuan
  24. {
  25.     public class Class1
  26.     {
  27.         public void bianhuan(string[] str, hbdelegate bh)
  28.         {
  29.             for (int i = 0; i < str.Length; i++)
  30.             {
  31.                 str[i] = bh(str[i].ToString());
  32.             }
  33.         }
  34.     }
  35. }
  36. namespace bianhuan
  37. {
  38.     public delegate string hbdelegate(string str);
  39.     //这里是重点,委托的定义,委托是和类同级别的,委托的定义要和方法类似,注意返回值和参数
  40. }
复制代码
关于委托和事件,先仔细了解可以看看我博客,我转载了一篇相关的文章,并且写了一些心得,你可以去看看
http://blog.csdn.net/oxoxzhu/article/details/8613627






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2