c# - 如何判断传入一个对象是否优于几个参数(int、string等)

标签 c# asp.net asp.net-mvc-4 oop

<分区>

我有一个名为“User”的类/对象,它有大约一打属性(例如:UserGUID、UserName 等)。它有一个构造函数、静态方法、耦合其他帮助程序/支持方法等。

该网站有数百个函数/方法,其中 2 个以上的参数来自 User 对象。例如:

public string HelloWorld(Guid userGUID, Guid accountGUID, bool somethingElse)
{
    //Do something
}

我真的很想传入 User 对象本身以使调用更清晰,而不必在每次需要 User 对象的新值时都不断添加参数。像这样:

public string HelloWorld(User user)
{
    //Do something
    Guid userGUID = user.UserGUID;
}

所以我的问题是,在什么时候传递对象是好/坏还是传递几个参数?它取决于物体的大小吗?我如何确定什么是“太大”与“好”?是参数个数吗?多少参数太多了?

最佳答案

您应该考虑该方法应该做什么。为什么存在该方法?

方法的语义将决定它的参数。因此,例如,如果 HelloWord 应该打印一些东西,比如 userIdsomething else,那么签名应该包含 userIdsomething else 作为参数。

另一方面,如果 HelloWord 应该打印出一些关于 User 的信息,那么方法签名应该将对象 User 作为参数。

这完全取决于方法语义。

关于c# - 如何判断传入一个对象是否优于几个参数(int、string等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39379813/

相关文章:

C# 自定义过时属性

c# - 如何在asp.net中制作多语言网站

c# - 处理 SkyBiometry API

c# - 是否可以将字符串转换为我自己的类型?

c# - MVC 通过 AJAX 发送列表

javascript - 从 JavaScript asp.net 调用按钮单击不起作用

c# - 从 ASP.net webform 中的 c# 类调用方法

css - 在运行时更新嵌入式资源

c# - ASP.NET MVC Helpers,为模型的两个属性创建帮助器

asp.net-mvc - 尝试在构建时构建 ASP MVC View 时出错