You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用表达式创建TableSettings类实例并通过参数传递

实现方案

你需要通过**Action<TableSettings>委托**来实现这种参数传递形式,具体步骤如下:

1. 定义接收配置逻辑的方法

先写一个方法,把配置TableSettings的逻辑作为参数传入,方法内部负责创建实例并执行配置:

public void GenerateTable(Action<TableSettings> configureSettings)
{
    // 创建TableSettings空实例
    var tableSettings = new TableSettings();
    // 执行传入的配置委托,给实例赋值
    configureSettings(tableSettings);

    // 后续可使用配置好的实例做业务逻辑,比如渲染表格
    Console.WriteLine($"表格CSS类:{tableSettings.TableCssClass},编辑动作:{tableSettings.EditAction}");
}

2. 调用方法时传入配置Lambda

此时就能用你想要的形式传递配置逻辑了:

GenerateTable(tableSettings => {
    tableSettings.TableCssClass = "table";
    tableSettings.EditAction = "action";
});

可选:添加默认配置重载

如果需要支持无配置参数的场景,可以给方法加个重载,提供默认配置:

public void GenerateTable()
{
    GenerateTable(settings => {
        settings.TableCssClass = "table-default";
        settings.EditAction = "edit-default";
    });
}

核心原理

这里用到的Action<TableSettings>是.NET内置委托类型,它代表接受一个TableSettings参数且无返回值的方法。你传入的Lambda表达式会被编译成该委托的实例,方法内部通过调用委托完成对TableSettings实例的属性赋值。

内容的提问来源于stack exchange,提问作者Emmanuel Jimenez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:09:29