将类作为参数传递

smu*_*nd2 1 oop api class-design

我有一个我需要打电话的api方法.它有10个参数.我试图创建一个包含该方法所需的所有信息的类.我可以简单地将对象传递给方法吗?

myAPIMethod(myClass);
Run Code Online (Sandbox Code Playgroud)

这很容易吗?

Ada*_*ear 14

不,它不起作用.如果方法有10个参数,则必须向其传递10个参数.

如果您可以控制API,则可以重构它以接受单个对象.

如果您无法控制API,则可以编写一个方法

public void CallAPI(MyClass args)
{
   myAPIMethod(args.Arg1, args.Arg2); // whatever args are needed for the method
}
Run Code Online (Sandbox Code Playgroud)

然后您的代码可以使用您的类和此方法来调用API.它可能比在应用程序的多个位置直接使用10个参数调用API方法更简洁.但是,这取决于方法是什么以及如何使用它.