我有一个类Script
,它有几个属性但没有方法。然后创建扩展Script
的类。理想情况下,脚本可能具有方法Update()
但不会扩展接口IUpdateable
(其中指定了方法'Update')。当这个脚本被添加到一个对象时,该对象将意识到,虽然该对象没有扩展IUpdateable
,但它仍然是它的一个实现。然后,它会将脚本添加到具有Update方法的脚本列表中,因此可以更新它。
我的问题围绕两件事,我如何判断一个类是否实现了一个接口(没有扩展它),并且,凭借这些知识,我如何将它转换为Update()
方法可以是的对象调用。
我还应该考虑其他选择吗?
谢谢
答案 0 :(得分:1)
您可以使用反射。
要检查某个类是否实现了接口,请尝试以下 -
typeof(IMyInterface).IsAssignableFrom(typeof(MyType))
typeof(MyType).GetInterfaces().Contains(typeof(IMyInterface))