首页 > 解决方案 > 如何通过参数对象进行搜索

问题描述

从将参数作为对象生成数据时遇到问题。

我创建了一个仅用于发送数据的类但是数据不是列表和组但是我可以在那里看到数据我只是不知道如何访问它

public class ProcessIdentityGeneratedData
{
    public List<Item> Document { get; set; }
    public Group Group { get; set; }
}

然后我发送我的数据

var processIdentityGenerated = new ProcessIdentityGeneratedData();              
processIdentityGenerated.ProcessIdenityDocument = Pages;
processIdentityGenerated.TaskGroup = taskGroup;
await navigationService.NavigateToAsync<DocumentRecognitionResultViewModel>(processIdentityGenerated);

然后我正在搜索

 public override async Threading.Task InitializeAsync(object data)
 {
     IsInitialized = false;
         
     try
     {
          if(data is ProcessIdentityGeneratedData processIdentityGeneratedData)
          {
              if (data is Group Group)
              {
                 _activeTaskGroup = group;
              }
              if (data is List<Item> item)
              {
                 foreach (var result in item)
                 {
                 }
              }

标签: c#

解决方案


看起来您正在检查 if datais a ProcessIdentityGeneratedData,但随后您想检查该类型变量的属性:

 public override async Threading.Task InitializeAsync(object data)
 {
     IsInitialized = false;
     
     try
     {
         if (data is ProcessIdentityGeneratedData processIdentityGeneratedData)
         {
             if (processIdentityGeneratedData.Group is Group group)
             {
                 _activeTaskGroup = group;
             }

             if (processIdentityGeneratedData.Document is List<Item> item)
             {
                 foreach (var result in item)
                 {
                 }
             }

推荐阅读