2017-09-19 27 views
0

從MvvmCross 5.1升級Xamarin.Android項目到5.2後,代碼拋出錯誤
MvvmCross 5.2 Xamarin.Android拋出錯誤 '大會' 找不到

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); 
    } 
} 
+0

添加'使用System.Reflection.Assembly'引發以下錯誤 錯誤CS7036'沒有給定的參數對應於所要求的形式參數「androidViewAssemblies」「CustomAndroidPresenter.CustomAndroidPresenter(IEnumerable的)」' 錯誤CS1503 '參數1:無法從'Android.Content.Intent'轉換爲'MvvmCross.Core.ViewModels.MvxViewModelRequest' –

+0

嘗試使用'base.ShowIntent(intent)'並添加'使用System.Reflection'而不是'使用System。 Reflection.Assembly'。 –

+0

@ YorkShen-MSFT它拋出錯誤\t CS7036 \t'沒有給定參數對應所需的形式參數'androidViewAssemblies「CustomAndroidPresenter.CustomAndroidPresenter(IEnumerable的)」' 完整的代碼我已經張貼在這裏[鏈接] (https://forums.xamarin.com/discussion/103515/updating-mvvmcross-to-5-2-in-xamarin-android-xamarin-ios) –

回答

1

沒有給定的參數對應於所要求的形式參數「androidViewAssemblies」「CustomAndroidPresenter.CustomAndroidPresenter(IEnumerable的)」

請注意,在你Setup.cs類,你初始化CustomAndroidPresenter爲:

var presenter = new CustomAndroidPresenter(); 

但你必須在你的CustomAndroidPresenter類添加一個構造函數:

public CustomAndroidPresenter(IEnumerable<Assembly> androidViewAssemblies) : base(androidViewAssemblies) 
{ 
} 

所以,當你初始化CustomAndroidPresenter,給它的參數:

var presenter = new CustomAndroidPresenter(AndroidViewAssemblies); 

不能轉換從 'Android.Content.Intent' 到 'MvvmCross.Core.ViewModels.MvxViewModelRequest'

使用base.ShowIntent(intent)而不是base.Show(intent)

+0

@Mukteswar Patnaik,你解決了你的問題嗎? –

+0

謝謝@ york-shen-msft,是的解決了 –