当作为参数传递时,防止混淆相同基类型的id
本文关键字:基类 类型 id 参数传递 | 更新日期: 2023-09-27 18:04:35
我有一个有很多业务逻辑的程序,我不断调用方法并传递ID (userID, projectID, fooID, barID等),这些都是整型。有时我粗心大意,交换了参数的顺序,userID变成了projectID,反之亦然。
有没有什么地方我可以改变一个整型,使它不能作为整型传递,但我可以很容易地从int转换为"intB"
我正在寻找一些类似于可空整型的东西:"int?",但我可以有"intA","intB","intC",并且只有当它被显式转换时才能作为另一个传递。
c#中存在这样的东西吗?
创建一个包含int类型的结构体。就这么简单。几乎是零开销,因为它会被优化出来。
如果问题是弄乱了参数,您是否尝试过在调用方法时使用参数的名称?
如果你有:
int Divide(int divisor, int dividend)
{
//stuff
}
可以这样调用:
int result = Divide(divisor: 3, dividend:2)
顺序无所谓,你可以按
int result = Divide(dividend:2, divisor: 3)
和
命名参数对于防止混淆参数很有用。例子:
CalculateBMI(123, 64);
//becomes...
CalculateBMI(weight: 123, height: 64);
//or...
CalculateBMI(height: 64, weight: 123);
只需在调用方法时将参数名称放在参数前面即可。有关更多信息,请参见MSDN上的命名参数和可选参数。