gpt4 book ai didi

c# - 如何传递 'null' 操作

转载 作者:太空狗 更新时间:2023-10-29 17:31:34 25 4
gpt4 key购买 nike

我有以下函数定义

private void DoExport(Action<ColumnView, bool> UpdateColumns)  
{
...
}

private void UpdateNonPrintableColumns(ColumnView view, bool visible)
{
...
}

调用示例:

DoExport(UpdateNonPrintableColumns);

我的问题是。如何传递“空”操作?有可能吗?

例如
<德尔> DoExport(null); <- Throws exception

DoExport(null) 导致在函数体中调用操作时抛出异常

最佳答案

如果你想传递一个空 Action :

DoExport((x, y) => { })

其次,您必须检查您的代码,因为传入 null 是完全没问题的。

public void X()
{
A(null);
}

public void A(Action<ColumnView, bool> a)
{
if (a != null)
{
a();
}
}

或者按照 C# 6(使用空传播运算符):

public void A(Action<ColumnView, bool> a)
{
a?.Invoke();
}

关于c# - 如何传递 'null' 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23950101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com