Generic Vs Dependency injection
Is there any difference between Generic Classes and Dependency injection ? Are they not ways to implement Inversion of Control.

For Example, if I have a node class, then I can define as following

    class Node<T> where T : ISomeInterface
    {
      ..
      ..
    }
    
    class Node
    {
       ISomeInterface obj
       public Node(ISomeInterface inject)
       {
           obj = inject;
       }
    }
Generic Vs Dependency injection
===

Is there any difference between Generic Classes and Dependency injection ? Are they not ways to implement Inversion of Control.

For Example, if I have a node class, then I can define as following

    class Node<T> where T : ISomeInterface
    {
      ..
      ..
    }
    
    class Node
    {
       ISomeInterface obj
       public Node(ISomeInterface inject)
       {
           obj = inject;
       }
    }