Есть такой вот код:
using System;
namespace Mutant_115
{
internal class Program
{
internal static void Main(string[] args)
{
B b = new B();
int i = 10;
double d = 10.0;
b.Foo(i);
b.Foo(d);
Console.ReadKey();
}
}
public class A
{
public void Foo(int i)
{
Console.WriteLine("int");
}
public void Foo(double i)
{
Console.WriteLine("double");
}
}
public class B: A
{
}
}
Выдает вполне предсказуемый результат:
int
double
Но если перенести дабровый метод в класс В
using System;
namespace Mutant
{
internal class Program
{
internal static void Main(string[] args)
{
B b = new B();
int i = 10;
double d = 10.0;
b.Foo(i);
b.Foo(d);
Console.ReadKey();
}
}
public class A
{
public void Foo(int i)
{
Console.WriteLine("int");
}
}
public class B: A
{
public void Foo(double i)
{
Console.WriteLine("double");
}
}
}
То результат меня несколько удивляет:
double
double
Господа, это бага или же какая-то хитрая фича в спеке, приводящая к неявному преобразованию?
<skipped/>
как минимум здесьАвтор: RUMACTEP
Дата: 23.03.07
Используйте поиск, оно рулез
... << RSDN@Home 1.2.0 alpha 4 rev. 1090>>
Здравствуйте, nikov, Вы писали:
N>Обсуждение на RSDN здесьАвтор: Alexander B.
Дата: 20.06.07
, здесьАвтор: zelych
Дата: 01.09.07
, здесьАвтор: Andrew_ImP
Дата: 20.06.07
, здесьАвтор: nikov
Дата: 02.07.08
, здесьАвтор: RUMACTEP
Дата: 23.03.07
, здесьАвтор: diamondio
Дата: 08.10.07
и здесьАвтор: vladpol
Дата: 31.07.08
.
Позвольте полюбопытствовать. Вы ссылки на обсуждения подобного рода записываете или нашли по поиску. Если по поиску, то по каким ключевым словам (я бы, например, так не смог)?
Здравствуйте, 0K, Вы писали:
0K>Позвольте полюбопытствовать. Вы ссылки на обсуждения подобного рода записываете или нашли по поиску. Если по поиску, то по каким ключевым словам (я бы, например, так не смог)?
Поиском по ключевым словам "баг", "nikov".
Так как я помню, что участвовал во всех обсуждениях на эту тему.