根据这篇关于在 .Net 中编写 shell 扩展的文章,在编写代码时继承 shell 接口是行不通的。我也在自己的代码中观察到了这一点。
不起作用:
public interface IPersist {
// stuff specific only to IPersist
}
public interface IPersistFolder : IPersist {
// stuff specific only to IPersistFolder
}
是否有效:
public interface IPersistFolder {
// stuff specific to IPersist only
// stuff specific to IPersistFolder only
}
文章指出了这个事实:
瞧,它奏效了!请注意,我已经放弃了 IPersistFolder 是从任何东西继承而来的任何想法,只是在其定义中包含了来自 IPersist 的存根。坦率地说,我不能告诉你为什么会这样,但它肯定工作得很好,不应该给你带来任何问题。
所以我会问这个人不知道的问题;为什么原始代码不起作用?