如何将两个参数传递给 System.Func

发布于 2024-12-27 21:54:22 字数 564 浏览 1 评论 0 原文

我有一个像这样的函数

public BuildColumn<TModel> TEST<TProperty>(
    Expression<Func<TModel, TProperty>> expression, 
    string DisplayName, 
    object HTMLAttributes,
    Expression<Func<TModel, string, TProperty>> SpecialHTMLAttributes, 
    bool Show) {}

如果你看一下第四个参数,它是一个 Expression>。我在这里想做的是传递一个 lambda 表达式和一个字符串值,可能是 "abc" 。但我不知道如何在这个参数中传递它们或如何使用它。
有谁知道如何将 2 个参数传递给 System.Func<>,或者有更好的选择吗?

I have a function like this

public BuildColumn<TModel> TEST<TProperty>(
    Expression<Func<TModel, TProperty>> expression, 
    string DisplayName, 
    object HTMLAttributes,
    Expression<Func<TModel, string, TProperty>> SpecialHTMLAttributes, 
    bool Show) {}

If you look at the 4th argument, it's an Expression<Func<TModel,string,TProperty>>. What I am trying to do here is pass a lambda expression and a string value, maybe "abc" . But I could not figure out how to pass them in this argument or how to use it.
Does anyone knows how to pass 2 parameters to a System.Func<>, or is there any better alternative?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷夜 2025-01-03 21:54:22

也许这是您想要的参数类型:

Func<TModel, string, TProperty>

或者表达式形式:

Expression<Func<TModel, string, TProperty>>

这将允许您传递类似这样的内容作为参数:

(model, str) => model.SomeCode(str)

Perhaps this is the parameter type you want:

Func<TModel, string, TProperty>

Or the expression form:

Expression<Func<TModel, string, TProperty>>

That would allow you to to pass something like this as the argument:

(model, str) => model.SomeCode(str)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文