System.Reflection.TargetInvocationException在构造

问题描述:

我不断收到System.Reflection.TargetInvocationException在构造

System.Reflection.TargetInvocationException

和PresentationFramework.dll,其他信息异常已通过调用的目标引发异常。

有人可以帮我在这里吗?

信息: 调用堆栈

PresentationFramework.dll System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader xamlReader,System.Xaml.IXamlObjectWriterFactory writerFactory,布尔skipJournaledProperties,对象rootObject,系统! .Xaml.XamlObjectWriterSettings设置的System.Uri基本URI)未知

namespace PMD.Analysis.AnalysisViewModel 
     { 
      using PMD.Measurement.MeasurementModel; 
      using System.Windows.Data; 
      using PMD.Analysis.AnalysisModel; 
      using System; 
      using System.Collections.Generic; 
      using PMD.Measurement.MeasurementViewModel; 
      public class AnalysisViewModel : ViewModel 
      { 

     /// <summary> 
     /// New analysis command. 
     /// </summary> 
     private ICommand newAnalysis = null; 
     public PMD.Analysis.AnalysisViewModel.NewAnalysisViewModel m_NewAnalysisViewModel; 
     Measurement measurement = new Measurement(); 
     private ICollectionView measurements = null; 
     /// <summary> 
     /// Measurement's search by title field. 
     /// </summary> 
     private string searchTitle; 
     /// <summary> 
     /// Measurement's search by title field. 
     /// </summary> 
     private string searchTester; 
     /// <summary> 
     /// Measurement's search by vehicle VIN field. 
     /// </summary> 
     private string searchVehicleVIN; 

     public MeasurementModel MeasurementModel 
     { 
      get; 
      set; 
     } 


     public enum SelectedState 
     { 
      // No Masurements. 
      Inactive, 
      // Masurements. 
      Active, 
      // Waiting for Masurements. 
      WaitingAnswer 
     }; 


     public SelectedState CurrentSelectedState { get; set; } 

     public Analysis Analysis 
     { 
      get; 
      set; 
     } 

     public AnalysisViewModel() 
     { 

      Analysis = new Analysis(); 
      measurements = new ListCollectionView(MeasurementModel.Measurements); 
      measurements.Filter = new Predicate<object>(SearchCallbackAnalysis); 
     } 

     ~AnalysisViewModel() 
     { 

     } 

     /// <summary> 
     /// List of measurements that will be displayed in analysis view. 
     /// </summary> 
     public ICollectionView Measurements 
     { 
      get { return measurements; } 

      set { measurements = value; } 
     } 

     /// <summary> 
     /// Gets or sets new analysis command. 
     /// </summary> 
     public ICommand NewAnalysis 
     { 
      get 
      { 
       if (newAnalysis == null) 
        newAnalysis = new NewAnalysisCommand(this); 
       return newAnalysis; 
      } 
     } 


     public bool SearchCallbackAnalysis(object item) 
     { 
      bool isItemShowed = true; 
      if ((searchTitle != "") && (searchTitle != null)) 
       isItemShowed &= (((Measurement)item).Title == searchTitle); 
      if ((searchVehicleVIN != "") && (searchVehicleVIN != null)) 
       isItemShowed &= (((Measurement)item).Vehicle.VehicleVIN == searchVehicleVIN); 
      if ((SearchTester != "") && (SearchTester != null)) 
       isItemShowed &= (((Measurement)item).Tester == SearchTester); 
      return isItemShowed; 
     } 



     /// <summary> 
     /// Gets or sets measurement's search by title field. 
     /// </summary> 
     public string SearchTitle 
     { 
      get 
      { 
       return searchTitle; 
      } 

      set 
      { 

       searchTitle = value; 
       Measurements.Refresh(); 
      } 
     } 

     /// <summary> 
     /// Gets or sets measurement's search by tester name field. 
     /// </summary> 
     public string SearchTester 
     { 
      get 
      { 
       return searchTester; 
      } 

      set 
      { 

       searchTester = value; 
       Measurements.Refresh(); 
      } 
     } 

     /// <summary> 
     /// Gets or sets measurement's search by vehicle VIN field. 
     /// </summary> 
     public string SearchVehicleVIN 
     { 
      get 
      { 
       return searchVehicleVIN; 
      } 
      set 
      {  
       searchVehicleVIN = value; 
       Measurements.Refresh(); 
      } 
     }  
    }//end AnalysisViewModel 

}//end namespace AnalysisViewModel 

,如果我在构造函数中这行代码注释:

measurements.Filter = new Predicate<object>(SearchCallbackAnalysis); 

一切工作正常,但我需要这一行来搜索列表中。

附加信息:

xamlReader Cannot obtain value of local or argument 'xamlReader' as it is not available at this instruction pointer, possibly because it has been optimized away. System.Xaml.XamlReader 

writerFactory Cannot obtain value of local or argument 'writerFactory' as it is not available at this instruction pointer, possibly because it has been optimized away. System.Xaml.IXamlObjectWriterFactory 

skipJournaledProperties Cannot obtain value of local or argument 'skipJournaledProperties' as it is not available at this instruction pointer, possibly because it has been optimized away. bool 

rootObject Cannot obtain value of local or argument 'rootObject' as it is not available at this instruction pointer, possibly because it has been optimized away. object 

settings Cannot obtain value of local or argument 'settings' as it is not available at this instruction pointer, possibly because it has been optimized away. System.Xaml.XamlObjectWriterSettings 

baseUri Cannot obtain value of local or argument 'baseUri' as it is not available at this instruction pointer, possibly because it has been optimized away. System.Uri 
+1

我认为我们需要更多的信息,你可以添加完整的异常堆栈和完整的异常消息和内部消息吗?我不认为问题出在Predicate的构造函数上。你可以在SearchCallbackAnalysis上添加一个断点吗? – tire0011

+0

已添加一个断点到SearchCallbackAnalysis我得到异常之前调用SearchCallbackAbalysis。但我在其他课程和作品中使用这种方法。我把断点在测量=新的ListCollectionView(MeasurementModel.Measurements);并且我仍然有异常 – user3223293

+0

此异常的源信息不可用或者从此模块的调试信息中缺少 – user3223293

我有尝试:

public ICollectionView Measurements 
     { 
      get { return measurements; } 

      set { measurements = value; 
measurements.Filter = new Predicate<object>(SearchCallbackAnalysis); 
} 
     } 

现在一切工作正常。谢谢你试图帮助我。