c# - 如何绕过 C# 中的函数参数?
问题描述
我正在寻找绕过函数参数的方法。假设我有一个功能:
void getDataFromDB(int? ID, string name) {....}
我想知道绕过ID或名称的方法,像这样的smt:
entity.getDataFromDB(42);
或者
entity.getDataFromDB("Customer");
我不会这样调用函数:
entity.getDataFromDB(null,"Customer");
我知道我可以使用默认值,也可以使用参数作为最后一个参数。有什么好主意吗?
解决方案
C#有两种减少函数参数的方法:
默认值(仅在没有“标准”参数后有效):
void getDataFromDB(int? ID, string name = "Default") {....}
方法重载:
void getDataFromDB(int? ID, string name) {....}
void getDataFromDB(string name) => getDataFromDB(null, name); // overload using lambda
推荐阅读
- sql - 删除 SQL 查询错误
- c - 如何在 C 中使用双指针矩阵制作卷积函数?
- javascript - 使用 submitHandler 时无法保持 preventDefault,直接进入 AJAX PHP 文件
- ubuntu - 无法在 Ubuntu 的虚拟 conda 环境中启动 jupyter notebook
- java - 外键约束在多对多 Hibernate 关系上失败
- html - 滚动条不考虑子 div 中的溢出
- amazon-web-services - 无法理解如何在 AWS 上托管静态网站
- web-scraping - 为什么这显示“DNS 查找失败”?
- php - 数据未存储在 Wordpress 数据库中
- typescript - 从枚举索引的类型推断类型