没有返回类型的Func委托

全部Func委托都返回一个值。 什么是能够与返回void的方法一块儿使用的.NET委托? 函数


#1楼

有时您会想要为事件处理编写委托,在这种状况下,您能够利用System.EvenHandler<T> ,除了应该从EventArgs派生的第二个参数以外, System.EvenHandler<T>隐式接受object类型的参数。 EventHandlers将返回void 测试

我我的发现这在测试过程当中有用,能够在函数体中建立一次性回调。 spa


#2楼

一种很是简单的方法来调用return和non return value子例程。 分别使用FuncAction(另请参阅https://msdn.microsoft.com/en-us/library/018hxwa8(v=vs.110).aspx code

试试这个例子吧 orm

using System;

public class Program
{
    private Func<string,string> FunctionPTR = null;  
    private Func<string,string, string> FunctionPTR1 = null;  
    private Action<object> ProcedurePTR = null; 



    private string Display(string message)  
    {  
        Console.WriteLine(message);  
        return null;  
    }  

    private string Display(string message1,string message2)  
    {  
        Console.WriteLine(message1);  
        Console.WriteLine(message2);  
        return null;  
    }  

    public void ObjectProcess(object param)
    {
        if (param == null)
        {
            throw new ArgumentNullException("Parameter is null or missing");
        }
        else 
        {
            Console.WriteLine("Object is valid");
        }
    }


    public void Main(string[] args)  
    {  
        FunctionPTR = Display;  
        FunctionPTR1= Display;  
        ProcedurePTR = ObjectProcess;
        FunctionPTR("Welcome to function pointer sample.");  
        FunctionPTR1("Welcome","This is function pointer sample");   
        ProcedurePTR(new object());
    }  
}

#3楼

...没有参数,而且有一个void返回类型? 事件

若是您正在为System.Windows.Forms编写,您还能够使用: get

public delegate void MethodInvoker()

#4楼

尝试System.Func<T>System.Action string


#5楼

...没有参数,而且有一个void返回类型? it

我相信Action是解决这个问题的方法。 io

相关文章
相关标签/搜索