I was doing some sample example which were perfectly fine. But, when I read about SOLID design principle, I had to change my code.
I have implemented DIP and DI (Constructor Injection) in my code. Please let me know whether I have implemented successfully or not.
Old code before SOLID design principlss:
class Program
{
    static void Main(string[] args)
    {
        Higherclass obj = new Higherclass("Female");
        obj.CallLowerClass();
        Console.ReadLine();
    }
}
public class Higherclass
{
    public readonly string sex;
    lowerClass_Male objLowerClass_Male = null;
    lowerClass_Female objLowerClass_Female = null;
    public Higherclass(string _sex)
    {
        sex = _sex;
    }
    public void CallLowerClass()
    {
        if (sex == "Male")
        {
            objLowerClass_Male = new lowerClass_Male();
            objLowerClass_Male.DoSomeAction();
        }
        else
        {
            objLowerClass_Female = new lowerClass_Female();
            objLowerClass_Female.DoSomeAction();
        }
    }
}
public class lowerClass_Male
{
    public void DoSomeAction()
    {
        Console.WriteLine("Hey It's Male. Do Some Action");
    }
}
public class lowerClass_Female
{
    public void DoSomeAction()
    {
        Console.WriteLine("Hey It's FeMale. Do Some Action");
    }
}
Newly modified code:
class Program
{
    static void Main(string[] args)
    {
        //Now, It depends on my requirement to call any sex class.Let's Say, I want to call Female Class.
        lowerClass_FeMale objLowerfemale = new lowerClass_FeMale();
        Higherclass obj = new Higherclass(objLowerfemale);
        obj.CallLowerClass();
        Console.ReadLine();
    }
}
public interface ISex
{
    void DoSomeAction();
}
public class lowerClass_Male : ISex
{
    public void DoSomeAction()
    {
        Console.WriteLine("Hey It's Male. Do Some Action");
    }
}
public class lowerClass_FeMale : ISex
{
    public void DoSomeAction()
    {
        Console.WriteLine("Hey It's FeMale. Do Some Action");
    }
}
public class Higherclass
{
    public ISex MySexInterface = null;
    public Higherclass(ISex objISex)
    {
        this.MySexInterface = objISex;
    }
    public void CallLowerClass()
    {
        MySexInterface.DoSomeAction();
    }
}

