Xamarin.Android 上的 MvvmCross 5.2 抛出错误 'Assembly' 找不到
MvvmCross 5.2 on Xamarin.Android throws Error 'Assembly' could not be found
将 Xamarin.Android 项目从 MvvmCross 5.1 升级到 5.2 后,代码抛出错误
Error CS0246 The type or namespace name 'Assembly' could not be found (are you missing a using directive or an assembly reference?)
public class CustomAndroidPresenter : MvxAndroidViewPresenter
{
public CustomAndroidPresenter(IEnumerable<Assembly> androidViewAssemblies) : base(androidViewAssemblies)
{
}
public override void Show(MvxViewModelRequest request)
{
if (request != null && request.PresentationValues != null)
{
if (request.PresentationValues.ContainsKey("MyCustomFlag"))
{
// Get intent from request and set flags to clear backstack.
var intent = base.CreateIntentForRequest(request);
intent.AddFlags(ActivityFlags.ClearTask | ActivityFlags.ClearTop | ActivityFlags.NewTask);
base.Show(intent);
return;
}
}
base.Show(request);
}
}
There is no argument given that corresponds to the required formal parameter 'androidViewAssemblies' of 'CustomAndroidPresenter.CustomAndroidPresenter(IEnumerable)'
请注意,在您的 Setup.cs
class 中,您将 CustomAndroidPresenter
初始化为:
var presenter = new CustomAndroidPresenter();
但是你在 CustomAndroidPresenter
class 中添加了一个构造函数 :
public CustomAndroidPresenter(IEnumerable<Assembly> androidViewAssemblies) : base(androidViewAssemblies)
{
}
所以当你初始化CustomAndroidPresenter
时,给它参数:
var presenter = new CustomAndroidPresenter(AndroidViewAssemblies);
cannot convert from 'Android.Content.Intent' to 'MvvmCross.Core.ViewModels.MvxViewModelRequest'
使用 base.ShowIntent(intent)
代替 base.Show(intent)
。
将 Xamarin.Android 项目从 MvvmCross 5.1 升级到 5.2 后,代码抛出错误
Error CS0246 The type or namespace name 'Assembly' could not be found (are you missing a using directive or an assembly reference?)
public class CustomAndroidPresenter : MvxAndroidViewPresenter
{
public CustomAndroidPresenter(IEnumerable<Assembly> androidViewAssemblies) : base(androidViewAssemblies)
{
}
public override void Show(MvxViewModelRequest request)
{
if (request != null && request.PresentationValues != null)
{
if (request.PresentationValues.ContainsKey("MyCustomFlag"))
{
// Get intent from request and set flags to clear backstack.
var intent = base.CreateIntentForRequest(request);
intent.AddFlags(ActivityFlags.ClearTask | ActivityFlags.ClearTop | ActivityFlags.NewTask);
base.Show(intent);
return;
}
}
base.Show(request);
}
}
There is no argument given that corresponds to the required formal parameter 'androidViewAssemblies' of 'CustomAndroidPresenter.CustomAndroidPresenter(IEnumerable)'
请注意,在您的 Setup.cs
class 中,您将 CustomAndroidPresenter
初始化为:
var presenter = new CustomAndroidPresenter();
但是你在 CustomAndroidPresenter
class 中添加了一个构造函数 :
public CustomAndroidPresenter(IEnumerable<Assembly> androidViewAssemblies) : base(androidViewAssemblies)
{
}
所以当你初始化CustomAndroidPresenter
时,给它参数:
var presenter = new CustomAndroidPresenter(AndroidViewAssemblies);
cannot convert from 'Android.Content.Intent' to 'MvvmCross.Core.ViewModels.MvxViewModelRequest'
使用 base.ShowIntent(intent)
代替 base.Show(intent)
。