c# - 创建接收参数的方法的最佳方式

标签 c# asp.net

<分区>

我想知道哪种方法是创建接收少量参数(例如 1 或 2)的方法的最佳方法。

第一个:传递实体类对象作为参数。

MyClass entity = new MyClass();
BDClass bd = new BDClass();
entity.Name = "Alan";
bd.InsertName(entity);

public void InsertName(MyClass entity)
{
     ///A simple Insert/Select
}

第二个:即使在 OO 上编程,也使用变量作为参数,而不是实体类。

BDClass bd = new BDClass();
string name = "Alan";
bd.InsertName(name);  

public void InsertName(string name)
{
  ///A simple Insert/Select
}

考虑到性能和良好的编程实践,我想知道哪一个是最好的。还是视情况而定?我的意思是,我猜只有当实体类的数量很大时才使用实体类作为参数更好,而变量的参数数量很少。

我知道这与代码本身无关,但我只是想了解哪种才是正确的编程方式

最佳答案

没有太大的区别,并且是一个正确的答案。因为你可以写成第二种形式,而且方法名是InsertName,所以我更喜欢第二种。

为什么?首先,它只需要一个名称(字符串),否则只有一个参数是不够的。其次,您可以将任何名称传递给它,无论它来自 MyClass 还是其他任何地方。

如果您确实需要传递具有给定类型的 MyClass 对象,那么您需要的肯定不仅仅是一个名称,您不能只传递一个名称字符串。在这种情况下,MyClass 可能是 BDClass 的依赖项。

关于c# - 创建接收参数的方法的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16813252/

相关文章:

c# - 如何从 C# 调用 C++ native 属性

c# - 添加 runat=server 时表出错

c# - 使用 int 参数的 SQL 注入(inject)漏洞

asp.net - 如何识别 ASP.NET/IIS/SQL Server 网站上的性能和并发问题

c# - 在后面的代码中访问 ascx 参数

c# - 用于显示数据库项目的最佳控件是什么?

javascript - 服务器响应 404。ajax 调用未到达 Controller

c# - Web API 2 返回错误并让 http.post 捕获它

c# - 与 C# 不同的 Java 数字签名

javascript - 样式 ASP.net DropDownList 不选择元素下拉列表