你能解释一下,当我的参数是接口类型时,我怎样才能获得对象属性?
public interface IObject {}
public class Object : IObject {}
然后我有一些像这样的方法:
public void Add(IObject object)
{
object.someThing; // I want to get that property but I can't.
}
我应该使用什么类型来获取这些属性?什么是最佳做法?
答案 0 :(得分:2)
接口是由类实现的合同,意思是
接口包含的任何规则(方法和属性) 将需要由实现该类的类实现 接口
因此,当您接受一个接口作为参数中的类型的方法时,您声明将传递给该方法的对象将包含接口所声明的方法和属性。
因此,您希望在对象上调用的方法应该在接口中定义。