Основы языка C# 2005. Евсеева О.Н - 42 стр.

UptoLike

Составители: 

46
Вот тестирующая процедура, вызывающая метод OLoad с разным числом
и типами аргументов:
/// <summary>
/// Вызов перегруженного метода OLoad. В зависимости от
/// типа и числа аргументов вызывается один из методов группы.
/// </summary>
public void OLoadTest()
{
OLoad(x);
OLoad(ux);
OLoad(y);
OLoad(dy);
// OLoad(x,ux);
// conflict: (int, float) и (long,long)
OLoad(x, (float) ux);
OLoad(y, dy);
OLoad(x, dy);
}
Отметим, что один из вызовов закомментирован, так как он приводит к
конфликту на этапе трансляции. Для устранения конфликта при вызове метода
пришлось задать явное преобразование аргумента, что показано в строке,
следующей за строкой-комментарием. Результат работы теста OLoadTest
представлен на рис. 13.
Рисунок 13. Вывод на печать результатов теста OLoadTest
Явные преобразования
Как уже говорилось, явные преобразования могут быть опасными из-за
потери точности. Поэтому они выполняются по указанию программиста, - на
нем лежит вся ответственность за результаты.