|
|
1
7
这里的问题不是不能向抽象类添加扩展方法(可以-可以向任何类型添加扩展方法)-而是不能向抽象类添加扩展方法 静态法 到具有扩展方法的类型。 扩展方法是以实例方法的形式出现在C中的静态方法。但它们还是静止的。向类型中添加静态方法需要能够重新定义类型,只有在具有以下源代码时才能执行此操作:) 如果你想使用这个方法,最好的办法是编写你自己的静态代码,看看你是否可以从反射镜中删除代码。 但是,它完全有可能不存在,因为它在Silverlight中没有物理支持(我不知道-我还没有调查) 编辑
根据你的评论-我希望我在这里理解了你-我认为你想要做的是这样的事情(目标)
当然 您不能将新的静态方法注入到现有类型中,因为正如我在第二段中所说的,您必须能够重新编译底层类型;而这是无法避免的。
现在-当你想用它的时候,你想要什么 不能 你要做的是:
因为在“System”和“MySystem”的最外层作用域中使用将导致编译器无法解析正确的
可以 但是,您要做的是:
只有
)将永远解决
所以,你可以认为这是压倒一切
但是,它确实是这样的
现有的
您可以通过在
|
|
|
2
4
当然,没问题。 |
|
Akira Takeshi · 如何用JavaScript编写扩展方法 2 年前 |
|
|
Aleksandar · 无法调用枚举扩展方法 2 年前 |
|
|
Codebadger · 将泛型传递给扩展方法 8 年前 |
|
|
Otman IGHOULASSEN · 从子类调用基类的扩展方法 8 年前 |
|
|
sirksel · 拳击弦场或扩展Kotlin中所有弦的替代方案? 8 年前 |