Func能否返回L值?

时间:2015-08-13 22:29:57

标签: c# func

我正在尝试查看是否可以使以下代码与非null类型一起使用。我最近发现,当用作ref参数时,值类型“奇怪地” - 它们可以为空...

sorry about the screenshot - the code is on a secure VM

是否可以从函数返回“赋值目标”,以便可以实现以下代码描述的场景?

void Main()
{
    // want to call F and assign the result to _result
    CallAndAssign(() => F(), () => _result);
}

int F()
{
    return 1;
}

int _result;

void CallAndAssign<T>(Func<T> functionToCall, Func<T> memberToAssignResultTo)
{
    // As I suspected, this did not work, "left-hand side of an assignment must be a variable, property or indexer" 
    //memberToAssignResultTo() = functionToCall();
}

我意识到我可以通过将第二个参数设为Action并简单地执行赋值来实现这一点,但这与在下一行代码中执行相同操作并没有什么不同。

我的直觉是,如果这个 可能,那么它将涉及使用Expression,这是我最后一个C#主题之一,我还没有将我的大脑包裹到一个有用的程度。< / p>

0 个答案:

没有答案