我觉得这应该是非常可能的。确定一个类是否实现了一个接口而不引用它
我有一个接口,我们称之为IJerry。现在,我在变量x中有一个类。这个类完全实现了IJerry。事情是,那个班从来没有提到IJerry。它只是发生与IJerry拥有完美兼容的签名。
有意义吗?假设您创建一个名为MyClass的类实现INotifyPropertyChanged。然后你从类中删除“MyClass:INotifyPropertyChanged”声明,但是你在类中放置了实现。
有没有办法确定类是否“实现”了一个接口,即使它没有明确的引用它?
C#不支持鸭子打字:http://en.wikipedia.org/wiki/Duck_typing – 2010-08-27 15:21:09
@Kirk,检查链接中包含的信息。 – 2010-08-27 15:24:33
@安东尼,哦,我明白了。该文章提到使用**动态**关键字作为替代品。国际海事组织,这不是“鸭子打字”,因为它不提供一般操作满足该合同类型的“类”的手段。它只是允许你“尝试”调用该方法。 – 2010-08-27 15:54:58