class_docstr: Simple provider for the class.
  
  This provider ignores the name of the class, and this provider matches only if
  the type_hint is the base class of this type. For example, if you want to bind
  concrete class to the abstract interface, this provider is the right choice.
  
  `__init__` argument of the class would be dependency injected.
class_docstr_tok: ["Simple","provider","for","the","class",".","This","provider","ignores","the","name","of","the","class",",","and","this","provider","matches","only","if","the","type_hint","is","the","base","class","of","this","type",".","For","example",",","if","you","want","to","bind","concrete","class","to","the","abstract","interface",",","this","provider","is","the","right","choice",".","`","__init__","`","argument","of","the","class","would","be","dependency","injected","."]
code: def __init__(self, cls: type[_T]):
      self._cls = cls
  
imports: import abc
  import functools
  import inspect
  import sys
  from typing import Any, Callable, Generic, Optional, TypeVar, Union, get_args, get_origin
  from tfx.utils import pure_typing_utils
label_desc: Use image node_id 1 to create a new ClassProvider object from inherited base classes: Provider with example: obj = ClassProvider(cls)