码迷,mamicode.com
首页 > 其他好文 > 详细

泛型委托当参数传递

时间:2016-12-30 23:35:03      阅读:353      评论:0      收藏:0      [点我收藏+]

标签:泛型   code   调用   委托方   参数传递   变量   person   oid   ram   

假如有一个Person类:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
    public string Title { get; set; }
}

执行一个方法:

/// <summary>
/// 传递一个泛型委托方法
/// </summary>
/// <param name="action"></param>
public static void SetNum(Action<Person> action)
{
    Person person = new Person();
    //前面的代码
    //......
    action(person);
    //后面的代码 
    //......
}

调用:

static void Main(string[] args)
{
    //第一种写法(写一个方法,然后当参数传进来)
    SetNum(Set1);
    //第二种写法(声明一个委托变量,赋一个匿名方法,然后当参数传进来)
    Action<Person> action = delegate(Person person) { person.Name = "Tom"; };
    SetNum(action);
    //第三种写法(直接new出一个泛型Action,然后赋一个匿名方法,全写)
    SetNum(new Action<Person>(delegate(Person person) { person.Name = "Name"; }));
    //第四种写法(直接new出一个匿名方法,简写版)
    SetNum(delegate(Person person) { person.Name = "Name"; });
}

public static void Set1(Person person)
{
    person.Name = "Name";
}

 

泛型委托当参数传递

标签:泛型   code   调用   委托方   参数传递   变量   person   oid   ram   

原文地址:http://www.cnblogs.com/genesis/p/6238488.html

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