gpt4 book ai didi

C# 方法参数是类的属性

转载 作者:行者123 更新时间:2023-11-30 20:53:39 26 4
gpt4 key购买 nike

首先,如果我发错了地方,我深表歉意,我是新来的,我不确定我发的地方是否正确。好吧,我正在尝试构建一个通用搜索方法,我将在其中添加搜索参数以安装 SQL 查询并在数据库上执行它。所有这些都使用 C#。我的目标是与我要搜索的字段对应的参数成为该方法所在类的属性。例如:

public foo
{
public string CustomerCode { get; set; }
public string CustomerName { get; set; }
public void AddSearchParameter(???, EnumOperator Operator, object Value)
}

每当我想指定要添加到搜索中的参数时,我希望它看起来像这样:

foo xxx = new foo();
xxx.AddSearchParameter(foo.CustomerCode, EnumOperator.Equal, txtCustomerCode.text);

我的问题是如何去做?

最佳答案

如果您尝试传递成员信息(这样 AddSearchParameter 可以检查 MemberInfo 并编写合适的 SQL),那么您需要使用字符串文字 (即 "CustomerCode" )或表达式树。后者更丰富,但涉及学习 Expression<T>应用程序接口(interface)。但从根本上说:

public void AddSearchParameter(Expression<Func<object>> expression, ...)
...
xxx.AddSearchParameter(() => foo.CustomerCode, ...)

然而,这不是 .NET 的一个微不足道的领域。

关于C# 方法参数是类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19813069/

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