码迷,mamicode.com
首页 > Windows程序 > 详细

C# 委托 Action Func

时间:2015-04-29 13:07:03      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

Action<T> : 传递参数,只进不出,所以方法为void

Func<in T, out Tv> : 传递参数,有进有出,所以传递的方法要return

 

 

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

namespace rooxml
{

    public class main
    {
        public delegate void fucA(string s);
        public static void Main ()
        {
            Action<string> ii = (string str) => {
                Console.WriteLine(str);
            };
            new A().bb(ii);

            fucA f = new A().aa;  
            f("777");  //委托直接调用
            //new A ().bb (new A().aa);

            Console.WriteLine(
            new A ().cc ((int i)=>{
                return (i*i).ToString();
            })
            );

        }
    }

    class A{
        public A(){ }

        public void aa(string s){
            Console.WriteLine (s+"666");
        }

        public void bb(Action<string> h){
            h ("555");
        }


        public string cc(Func<int, string> c){
            return c(7);
        }
            
    }
}

 

https://msdn.microsoft.com/zh-cn/library/bb549151.aspx

C# 委托 Action Func

标签:

原文地址:http://www.cnblogs.com/nnnnn/p/4465525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!