您好,我正在尝试使用INavigationService
创建自定义导航功能。我可能还很遥远,但这是我在BaseViewModel
中拥有的东西:
public async Task Navigate<T>(object type)
{
if (canNavigate)
{
canNavigate = false;
if (type is T)
{
await _navigationService.Navigate<type>();
}
canNavigate = true;
}
}
此代码不起作用,但是基本上我试图将ViewModel类作为参数传递,因此我可以这样称呼:_navigationService.Navigate<VM type here>
。
这甚至可能吗?预先感谢!
答案 0 :(得分:0)
似乎您正在尝试实现API Task<bool> Navigate<TViewModel>(...) where TViewModel : IMvxViewModel;
中已经存在的内容。
要确保传递的对象类型正确,只需将其传递为T型:
public async Task Navigate<T>(T object) where T : <yourTypeHere>
另一个问题是,如果您已经需要在T中键入内容,为什么需要在对象内部进行
。