在 C# 中有一个Attribute
调用DataSourceAttribute
。它需要一次又一次地在每个方法上声明。是否可以在班级级别声明一次,这样我就不需要重复自己了。如果是这样,如何?
在数据驱动单元测试中,需要借助这个属性来指定数据源:[DataSource (...),...]
。大约有 10-15 个这样的方法,我不想为每个方法声明属性。我想声明一次并让所有方法从类级别使用继承它。
我有一种情况,我可能想按订单号或名称搜索.我知道我可以Where
为我的LINQ查询添加一个表达式,但我只想为我正在搜索的属性添加它!我不知道在调用方法之前会提供哪个参数,那么如何添加正确的条件呢?
public JsonResult Search(int orderNo=0, string firstName="", string lastName="")
{
if (orderNo >0){
//add Condition
}
if (firstName.Length > 0){
//add Condition
}
if (lastName.Length > 0){
//add Condition
}
//get Result
var result = Repository.Orders.Where(???).OrderByDescending(e=> e.orderNo);
//return
}
Run Code Online (Sandbox Code Playgroud)