不确定这是否特定于C#4+,但只是注意到了这一点.
考虑以下类:
class Base
{
protected void Foo(object bar, DayOfWeek day)
{
}
}
class Program : Base
{
protected void Foo(object bar, object baz)
{
}
void Bar(DayOfWeek day)
{
Foo(new { day }, day);
}
}
Run Code Online (Sandbox Code Playgroud)
在调用Foo中Bar,做出决议Foo(object, object).
将其更改为:
class Base
{
}
class Program : Base
{
protected void Foo(object bar, object baz)
{
}
protected void Foo(object bar, DayOfWeek day)
{
}
void Bar(DayOfWeek day)
{
Foo(new { day }, …Run Code Online (Sandbox Code Playgroud)