接口对象如何可以调用自己的方法

接口对象怎么可以调用自己的方法?
代码较长,是一张图片,要能看清的话图片较大,上传速度太慢了一直传不过来。。。。。
我对代码做了较大的简化

    public class ShortList<T>:IList<T>
    {
        protected IList<T> innerCollection;
        
        public int IndexOf(T item)
        {
            return innerCollection.IndexOf(item);
        }
    }
innerCollection是接口对象吧,可是代码中并没有给它实例化
我想问的是这个innerCollection怎么可以调用IList<T>接口中没有具体实现代码的方法,
编译器上显示public int IndexOf(T item)有一个调用,居然是return后面的IndexOf!我彻底弄晕了。。。
------解决方案--------------------
如果没有实例化的话,编译器会报异常的

------解决方案--------------------
接口是通过继承自它的具体类进行实例化的

比如
class A : IA;

IA a = new A()