【发布时间】:2019-04-17 03:53:29
【问题描述】:
public void Navigate<TContentPage, TNavigationParameter>(INavigation
navigation,
TNavigationParameter navParam,
Action<TContentPage, TNavigationParameter> action = null) where TContentPage : ContentPage
{
var contentPage = App.Container.Resolve<TContentPage>();
action?.Invoke(contentPage, navParam);
navigation.PushAsync(contentPage, true);
}
public void Navigate<TContentPage, TNavigationParameter,TSelected>(INavigation navigation,
TNavigationParameter navParam,TSelected nav,
Action<TContentPage, TNavigationParameter> action = null,Action<TContentPage,TSelected>action1=null
) where TContentPage : ContentPage
{
var contentPage = App.Container.Resolve<TContentPage>();
action?.Invoke(contentPage, navParam);
action1?.Invoke(contentPage,nav);
navigation.PushAsync(contentPage, true);
}
这是我用来导航的两个重载方法我可以使用其中一个吗?我可以在没有两个动作函数的情况下修改这个方法我可以修改第二个方法以便在两种情况下都使用
【问题讨论】:
-
是什么阻止您在两种情况下都使用第二种方法?如果 action1 为 null(第一种方法的场景)并且您调用第二种方法,它应该给出与调用第一种方法相同的结果
-
你能用一个例子解释一下,如果action 1为null时如何调用函数
标签: c# generics xamarin.forms overloading