我在一个奇怪的情况是,我的方法之一,有接受或一个对象或动态参数(因为它会收到关于任何东西),但我关心的是类实现至少两种方法。对象为界面,而无需工具
很明显,只使用和接口,希望在我的方法上接收的所有对象都必须实现,可悲的是我不能保证...
我在我的类中使用了很多对象(和这两个函数),并且想要引用具有“IImplementsBothMethods”的“类型”的此对象,以便我可以使用它被铸造后知道它不会中断。
我想什么是这样的:
public interface IImplementsBothMethods
{
Method1();
Method2();
}
public class ClassThatReceivesAnything
{
IImplementsBothMethods obj;
public ClassThatReceivesAnything([dynamic|object] unknownObject)
{
// unknownObject does not implement the interface
obj = unknownObject as IImplementsBothMethods;
}
public void MethodThatDoesNotCare()
{
obj.Method1();
obj.Method2();
}
}
我怎样才能做到这一点?铸造刚刚返回null
感谢
我是否误解了你的问题?公共ClassThatReceivesAnything(IImplementsBothMethods obj){}不是一个选项吗? –