编码UI:编写具有相同数据类型的多个可选参数的方法的最佳方式是什么?

本文关键字:参数 方法 最佳 是什么 方式 编码 数据类型 UI | 更新日期: 2023-09-27 17:54:59

我在Coded UI中编写一个方法,该方法接受相同类型的多个可选输入参数。我的问题是编写这种方法的最佳实践是什么。它应该使用方法重载(在互联网上的许多地方建议)或命名参数和可选参数组合。该方法实际上尝试在以下字段中输入值:

名称:string: Required
年龄:string: Required
位置:string:可选
注册复选框:可选
如果复选框被选中:在下面的字段中输入更多的详细信息。

如果我使用命名参数和可选参数的组合,那么方法定义中的参数列表看起来很长,我不确定它是否容易阅读,并且方法重载我不确定我是否传递/跳过多个可选参数,那么它将解决目的。我是c#编程新手,所以任何指针都是非常感谢的。

编码UI:编写具有相同数据类型的多个可选参数的方法的最佳方式是什么?

使用包装器对象来包含您的字段:

class Person{
    string name location;
    Gender gender;
    int age;
    public Person(string name, int age, string location = null, Gender gender = null){
        // set fields
        // location is optional so it might be null.
        // Gender can be an object or an enum type.
    }
}
class NewAccount{
    String email, password;
}
class Order{
    String OrderType = null;
}

,那么你的方法的签名看起来像:

public void myMethod(Person person, Order order, NewAccount newAccountInfo = null){
    //Do whatever here
}
关键是这些对象为你的方法提供了一个定义良好的接口,而不是使用一堆可能存在也可能不存在的参数。

我认为在你的情况下方法重载是你能做的最好的事情。我们总是在类中重载方法来解决这类问题。还记得有人不想输入位置但想注册的情况吗。