我可以在调用方法时阻止对参数的隐式强制转换吗?

时间:2015-07-14 22:45:40

标签: c# implicit-conversion unsafe

我正在尝试清理一些我继承的代码,我想知道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)版本来调用它,而不是通过使用隐式转换使编译器“帮助”。这可能吗?

0 个答案:

没有答案