I'm new to c# programming and I know it's an amateur question so please don't laugh me!
I was declare these interfaces
class derived : iInterface3
{
    double[] d = new double[5];
    public override int MyProperty
    {
        get
        {
            return 5;
        }
        set
        {
            throw new Exception();
        }
    }
    int iProperty
    {
        get
        {
            return 5;
        }
    }
    double this[int x]
    {
        set
        {
            d[x] = value;
        }
    }
}
class derived2 : derived
{
}
interface iInterface
{
    int iProperty
    {
        get;
    }
    double this[int x]
    {
        set;
    }
}
interface iInterface2 : iInterface
{ }
interface iInterface3 : iInterface2
{ }
even i implement all of members of iInterface to derived class but still i recive this error.
'final_exam_1.derived' does not implement interface member 'final_exam_1.iInterface.this[int]'. 'final_exam_1.derived.this[int]' cannot implement an interface member because it is not public.
and this
'final_exam_1.derived' does not implement interface member 'final_exam_1.iInterface.iProperty'. 'final_exam_1.derived.iProperty' cannot implement an interface member because it is not public.
why?
Thanks for your helps in advance!
 
     
     
     
     
     
    