public static void BindViewControllerWithArgument <TView, TPresenter, T>(this DiContainer container, GameObject viewPrefab, Transform parent, T paramArgument) where TView : UiView where TPresenter : UiPresenter { container.Bind <TView>().FromComponentInNewPrefab(viewPrefab).UnderTransform(parent).AsSingle(); container.BindControllerWithArgument <TPresenter, T>(paramArgument); }