DependencyModel
Represents a dependency (other component or a 
              fixed value available through external configuration).
            
                
The default value of this dependency. Note that null is a valid default value. Use  HasDefaultValue to determine whether default value was provided.
            
Gets or sets the dependency key.
            
Specifies whether dependency has a default value ( DefaultValue). Note that null is a valid default value.
            
Gets or sets whether this dependency is optional.
            
Gets the service type of the dependency.
              This is the same type as  TargetType or if  TargetType is by ref,
              then it's the element type of the reference. (in other words if dependency 
              is out IFoo foo this will be IFoo, while  TargetType will be &IFoo);
            
Gets the type of the target.
            
Initializes a new instance of the  DependencyModel class.
            
public DependencyModel(string dependencyKey, Type targetType, bool isOptional, bool hasDefaultValue, object defaultValue)