我正在尝试清理一些我继承的代码,我想知道C#中是否有一种方法可以防止方法参数的隐式转换。我们有一系列重载方法,它们采用各种参数,但如果传入的参数被转换为与方法使用的类型不同的类型(因此重载),我们会得到意外/错误的结果。
例如,这个
private unsafe void MyMethod(float arg0, float arg1)
{
/* Do Very Unsafe Things */
}
将被此
调用int i = 0;
int j = 1;
MyMethod(i, j);
如果我没有特定的重载来(int, int)
。
我想在编译时找到一些方法来确保我们必须编写方法的(int, int)
版本来调用它,而不是通过使用隐式转换使编译器“帮助”。这可能吗?