返回包含lambda表达式的字符串方法

时间:2016-12-27 20:47:53

标签: c# string lambda return

我正在尝试从lambda表达式返回一个字符串。这个表达式可以用writeline打印出接收到的字符串,但我无法弄清楚如何从函数中返回字符串,所以我可以在我的项目中使用它。

谢谢

public static async Task<string> messaging_server() 
{
    using (var messagebus1 = new TinyMessageBus("ExampleChannel"))
    {
        messagebus1.MessageReceived +=
        (sender, e) => Debug.writeLine(Encoding.UTF8.GetString(e.Message));

        while (true)
        {
             #infinite loop        
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您可以将其存储在局部变量中并使用多行lambda表达式,如下所示:

def properties = new Properties()
new File('/Users/myuserName/Documents/StudioProjects/private-key-vault/props', 'keystore.properties').withInputStream {
    properties.load(it)
    // ... do work with stored properties
}

答案 1 :(得分:0)

如果我理解正确,也许你可以尝试这样:

Debug.WriteLine(Encoding.UTF8.GetString(e.Message));

请注意我是如何包裹e.Message的。它将打印,它将返回编码{{1}}。