为什么编译器找不到我的方法?

模棱两可的

我有一个带有输入方法的“工人”类

internal void Run()
{
//do stuff...
}

我有一个带有输入方法的测试子类(“ TestWorker:Worker”)

internal void Run(object aParam)
{
//do something with aParam, then..
Run();
}

我有一个测试应用程序,可以在新线程中启动TestWorker实例,

        Worker worker;
        Thread workerThread;
...
        worker = new TestWorker();
        workerThread = new Thread(new ParameterizedThreadStart(worker.Run));
        workerThread.Start("something");

这不会编译,并且编译器报告找不到参数化的委托(在我的子类中)。我可以通过在Worker类中声明一个虚拟的虚拟Run(object)方法来克服该问题,这样我的TestWorker.Run(object)会覆盖它,但是恕我直言,这是一个不佳的解决方案,那么为什么我必须这样做呢?是编译器特质,还是我在逻辑上做错了什么?

乔恩·斯基特

的问题是,的编译时间类型worker仅仅是Worker-有没有一个Worker.Run接受的参数方法。

这与代表本身无关-您将无法致电

worker.Run("foo");

要么。解决此问题的最简单方法就是更改workerbe的声明TestWorker或者,使用单独的局部变量:

TestWorker testWorker = new TestWorker();
workerThread = new Thread(new ParameterizedThreadStart(testWorker.Run));
worker = testWorker;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么编译器在有 2 个类的源文件中找不到我的公共类?

来自分类Dev

代码块找不到我的编译器

来自分类Dev

为什么编译器找不到头文件?

来自分类Dev

编译器找不到我作为Maven依赖项的类

来自分类Dev

为什么找不到我的子类方法(符号)?

来自分类Dev

为什么找不到我的子类方法(符号)?

来自分类Dev

C ++初学者:为什么我的编译器基于我的循环返回“找不到名称”?

来自分类Dev

为什么找不到我的功能?

来自分类Dev

为什么找不到我的ViewModel?

来自分类Dev

找不到我的.plist,为什么?

来自分类Dev

为什么找不到我的功能?

来自分类Dev

为什么找不到我的桥?

来自分类Dev

Swift编译器为什么会抛出:“找不到接受提供的参数的'<'的重载”

来自分类Dev

为什么编译器找不到android.R.id.home常量?

来自分类Dev

为什么我的C#.Net Core Rest API路由找不到我的方法?

来自分类Dev

为什么scrapy Xpath 找不到我的浏览器Xpath 找到的内容?

来自分类Dev

为什么xUnit找不到我的DNX测试?

来自分类Dev

为什么绝对导入找不到我的模块?

来自分类Dev

Rails为什么找不到我安装的宝石?

来自分类Dev

为什么rspec找不到我的无参数路由?

来自分类Dev

为什么找不到我的ResourceDictionary xaml文件?

来自分类Dev

为什么-classpath找不到我的Jsoup Jar文件?

来自分类Dev

python为什么找不到我的模块?

来自分类Dev

为什么找不到我的文件?[安卓]

来自分类Dev

为什么春天找不到我的豆子?

来自分类Dev

ValGrind为什么找不到我的符号?

来自分类Dev

为什么Kohana找不到我的变量

来自分类Dev

控制台为什么找不到我的变量?

来自分类Dev

Padrino为什么找不到我的耙子任务?

Related 相关文章

  1. 1

    为什么编译器在有 2 个类的源文件中找不到我的公共类?

  2. 2

    代码块找不到我的编译器

  3. 3

    为什么编译器找不到头文件?

  4. 4

    编译器找不到我作为Maven依赖项的类

  5. 5

    为什么找不到我的子类方法(符号)?

  6. 6

    为什么找不到我的子类方法(符号)?

  7. 7

    C ++初学者:为什么我的编译器基于我的循环返回“找不到名称”?

  8. 8

    为什么找不到我的功能?

  9. 9

    为什么找不到我的ViewModel?

  10. 10

    找不到我的.plist,为什么?

  11. 11

    为什么找不到我的功能?

  12. 12

    为什么找不到我的桥?

  13. 13

    Swift编译器为什么会抛出:“找不到接受提供的参数的'<'的重载”

  14. 14

    为什么编译器找不到android.R.id.home常量?

  15. 15

    为什么我的C#.Net Core Rest API路由找不到我的方法?

  16. 16

    为什么scrapy Xpath 找不到我的浏览器Xpath 找到的内容?

  17. 17

    为什么xUnit找不到我的DNX测试?

  18. 18

    为什么绝对导入找不到我的模块?

  19. 19

    Rails为什么找不到我安装的宝石?

  20. 20

    为什么rspec找不到我的无参数路由?

  21. 21

    为什么找不到我的ResourceDictionary xaml文件?

  22. 22

    为什么-classpath找不到我的Jsoup Jar文件?

  23. 23

    python为什么找不到我的模块?

  24. 24

    为什么找不到我的文件?[安卓]

  25. 25

    为什么春天找不到我的豆子?

  26. 26

    ValGrind为什么找不到我的符号?

  27. 27

    为什么Kohana找不到我的变量

  28. 28

    控制台为什么找不到我的变量?

  29. 29

    Padrino为什么找不到我的耙子任务?

热门标签

归档