在下面的屏幕截图中,编译器和IntelliSense显示除非我取消注释using
语句,否则program
实例不是SatisfyImportsOnce
的有效参数。据我所知,它不是基于基类/接口/隐式转换的匹配签名,并且都有相关的引用,所以它是如何知道的?这个using
检查是什么,它是如何工作的?
http://i.imgur.com/3BPpXew.png
答案 0 :(得分:3)
如果没有using
,编译器只会在System.ComponentModel.Composition.Hosting
命名空间中找到this method,只需ComposablePart
个参数
通过使用,它还会找到this extension method,其中包含object
参数。