The problem here is that you've defined an anonymous method which returns a string but are trying to assign it directly to a string. It's an expression which when invoked produces a string it's not directly a string. It needs to be assigned to a compatible delegate type. In this case the easiest choice is FuncFunc temp = () => {return "test";};This can be done in one line by a bit of casting or using the delegate constructor to establish the type of the lambda followed by an invocation.string temp = ((Func )(() => { return "test"; }))();string temp = new Func (() => { return "test"; })();Note: Both samples could be shorted to the expression form which lacks the { return ... }Func temp = () => "test";string temp = ((Func )(() => "test"))();string temp = new Func (() => "test")();
posted on 2016-05-03 16:49 阅读( ...) 评论( ...)