C# 基于“智能感知”;使用;不是继承
在下面的屏幕截图中,编译器和IntelliSense显示,除非我使用语句取消对C# 基于“智能感知”;使用;不是继承,c#,visual-studio,C#,Visual Studio,在下面的屏幕截图中,编译器和IntelliSense显示,除非我使用语句取消对的注释,程序实例不是满足导入的有效参数。据我所知,它与基于基类/接口/隐式转换的签名不匹配,而且两者都有相关的引用,那么它怎么知道呢?使用检查调用了什么,它是如何工作的 如果没有使用,编译器只能在System.ComponentModel.Composition.Hosting命名空间中查找,该命名空间只接受一个componesablepart参数 通过使用,它还可以找到哪个对象采用了对象参数。视情况而定。satis
的注释,程序
实例不是满足导入
的有效参数。据我所知,它与基于基类/接口/隐式转换的签名不匹配,而且两者都有相关的引用,那么它怎么知道呢?使用
检查调用了什么,它是如何工作的
如果没有使用
,编译器只能在System.ComponentModel.Composition.Hosting
命名空间中查找,该命名空间只接受一个componesablepart
参数
通过使用,它还可以找到哪个对象采用了对象
参数。视情况而定。satisfyimporton(Program)
是否作为扩展方法在System.ComponentModel.Composition
命名空间中实现?@FrédéricHamidi Ah,忘记了扩展,没有想到“官方”Microsoft库会使用它们。是的,这是一种扩展方法,谢谢!你不应该感到惊讶,LINQ也是一个“官方”MS库,到处使用扩展方法:)嗯,有时候感觉扩展是专门为LINQ及其衍生产品设计的;绕过密封类。我惊讶地发现一个正常方法[理论上]可以做到的方法。