@startuml
class "FactorySubContainerBinder`4"<TParam1,TParam2,TParam3,TContract> {
    + FactorySubContainerBinder(bindContainer:DiContainer, bindInfo:BindInfo, factoryBindInfo:FactoryBindInfo, subIdentifier:object)
    + ByMethod(installerMethod:Action<DiContainer, TParam1, TParam2, TParam3>) : ScopeConcreteIdArgConditionCopyNonLazyBinder
    + ByNewGameObjectMethod(installerMethod:Action<DiContainer, TParam1, TParam2, TParam3>) : NameTransformScopeConcreteIdArgConditionCopyNonLazyBinder
    + ByNewPrefabMethod(prefabGetter:Func<InjectContext, UnityEngine.Object>, installerMethod:Action<DiContainer, TParam1, TParam2, TParam3>) : NameTransformScopeConcreteIdArgConditionCopyNonLazyBinder
    + ByNewPrefabMethod(prefab:UnityEngine.Object, installerMethod:Action<DiContainer, TParam1, TParam2, TParam3>) : NameTransformScopeConcreteIdArgConditionCopyNonLazyBinder
    + ByNewPrefabResourceMethod(resourcePath:string, installerMethod:Action<DiContainer, TParam1, TParam2, TParam3>) : NameTransformScopeConcreteIdArgConditionCopyNonLazyBinder
}
class "FactorySubContainerBinderWithParams`1"<T> {
}
"FactorySubContainerBinderWithParams`1" "<TContract>" <|-- "FactorySubContainerBinder`4"
@enduml
