Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ObservableCollection列表找不到方法AddRange_C#_Xamarin_Xamarin.forms - Fatal编程技术网

C# ObservableCollection列表找不到方法AddRange

C# ObservableCollection列表找不到方法AddRange,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我正在使用Xamarin.Forms MVVM和sqlLite net制作一个共享的移动应用程序 我收到一个错误,bc'AddRange'在ObservableCollection中不存在,或者我错误地使用了该函数 我想做的就是填写我的可观察收集列表。我必须使用循环手动添加吗?它的ObservableCollection有一个“Add”方法,但无法填充 错误:“ObservableCollection”不包含“AddRange”的定义,并且找不到接受“ObservableCollection”类

我正在使用Xamarin.Forms MVVM和sqlLite net制作一个共享的移动应用程序

我收到一个错误,bc'AddRange'在ObservableCollection中不存在,或者我错误地使用了该函数

我想做的就是填写我的可观察收集列表。我必须使用循环手动添加吗?它的ObservableCollection有一个“Add”方法,但无法填充

错误:“ObservableCollection”不包含“AddRange”的定义,并且找不到接受“ObservableCollection”类型的第一个参数的可访问扩展方法“AddRange”(是否缺少using指令或程序集引用?)

使用以下参考文献:

using System.Collections.ObjectModel;
 using System.ComponentModel;
 using System.Runtime.CompilerServices;
 using System.Threading.Tasks;
using TestApp01_MVVM_Basic.Models;
using Xamarin.CommunityToolkit.ObjectModel;
 using Xamarin.Forms;
 using System.Collections.Specialized;
using TestApp01_MVVM_Basic.Services;
using System.Collections.Generic;
using System.Linq;
下面我正在创建我的可观察集合。我在第行得到错误:AddRange()

publicobservableCollection产品列表{get;set;}
公共产品视图模型()
{
ProductsList=新的ObservableCollection();
}
公共异步任务MyDisplayList()
{
var getData=ProductService.DisplayProduct();
ProductsList.AddRange(getData);
}
在Servies类中,我有以下DisplayProduct()方法。从数据库返回一个列表

public static async Task<IEnumerable<ProductModel>> DisplayProduct()
    {
        await Init();

        var GetProduct = await db.Table<ProductModel>().ToListAsync();
        return GetProduct;
    }
公共静态异步任务DisplayProduct()
{
等待初始化();
var GetProduct=await db.Table().ToListAsync();
退货产品;
}

您所寻找的是在Xamarin社区工具包包上实现的:哪个子类
System.Collections.ObjectModel.ObservableCollection
,您可以使用
ObservableCollection
而不是
ObservableCollection
,因为后者没有实现这种方法

public ObservableRangeCollection<ProductModel> ProductsList { get; set; }
public ProductViewModel()
    {
        ProductsList = new ObservableRangeCollection<ProductModel>();
    }

 public async Task MyDisplayList()
    {
        var getData = await ProductService.DisplayProduct();
        ProductsList.AddRange(getData);

    }

public static async Task<IEnumerable<ProductModel>> DisplayProduct()
    {
        await Init();

        var GetProduct = await db.Table<ProductModel>().ToListAsync();
return await Task.FromResult(GetProduct);
    }
公共ObserverAgeCollection产品列表{get;set;} 公共产品视图模型() { ProductsList=新的ObserverAgeCollection(); } 公共异步任务MyDisplayList() { var getData=await ProductService.DisplayProduct(); ProductsList.AddRange(getData); } 公共静态异步任务DisplayProduct() { 等待初始化(); var GetProduct=await db.Table().ToListAsync(); 返回等待任务。FromResult(GetProduct); }
System.Collections.ObjectModel.ObservableCollection
没有
AddRange
方法。您可以使用
插入项
。以下是现在有意义的感谢。问题:我在第行遇到错误:ProductsList.AddRange(getData);。无法将System.Threading.Tasks.Task转换为System.collection.generice。IEumerable
DisplayProduct
是一种异步方法,因此,当你打电话给itThanks指出@Jason我没有注意到时,你需要使用
wait
it@ikhlasahmed如果这是您的问题的实际答案,请将上面的答案标记为答案question@ikhlasahmedgetData需要实现
IEnumerable
查看
public ObservableRangeCollection<ProductModel> ProductsList { get; set; }
public ProductViewModel()
    {
        ProductsList = new ObservableRangeCollection<ProductModel>();
    }

 public async Task MyDisplayList()
    {
        var getData = await ProductService.DisplayProduct();
        ProductsList.AddRange(getData);

    }

public static async Task<IEnumerable<ProductModel>> DisplayProduct()
    {
        await Init();

        var GetProduct = await db.Table<ProductModel>().ToListAsync();
return await Task.FromResult(GetProduct);
    }