相关疑难解决方法(0)

重载分辨率奇怪

不确定这是否特定于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)

.net c# overload-resolution

6
推荐指数
1
解决办法
163
查看次数

标签 统计

.net ×1

c# ×1

overload-resolution ×1