【问题标题】:How do I send a list of objects through MessagingCenter in C#?如何在 C# 中通过 MessagingCenter 发送对象列表?
【发布时间】:2021-09-22 07:25:38
【问题描述】:

我正在尝试通过 MessagingCenter 将 BarData 对象列表发送到我的 FavoritesPage.xaml.cs。我试过了

MessagingCenter.Send<BarData>(_favoriteBarsList, "FaveBars");

它给了我一个错误,告诉我无法将发件人从列表转换为对象。然后我尝试使用

MessagingCenter.Send<List<BarData>>(_favoriteBarsList, "FaveBars");

Visual Studio 对我大喊大叫,哈哈! 我尝试在线搜索如何通过 MessagingCenter 发送对象列表,但我找不到任何东西。有人可以帮忙吗?

【问题讨论】:

    标签: c# xamarin.forms xamarin.android messagingcenter


    【解决方案1】:

    MessagingCenter.Send Method

    发送带有指定参数的命名消息

    参数

    • 发件人TSender

      • 发送消息的实例。通常,这是使用发送对象中使用的 this 关键字指定的。
    • 留言String

      • 将发送到正在侦听来自 TSender 类型实例的消息的对象的消息。
    • 参数TArgs

      • 将传递给侦听器回调的参数。

    示例

    MessagingCenter.Send<MainPage,List<BarData>>(
        this, // the context you are on 
        "FaveBars", // the named message
        _favoriteBarsList); // the argument
    

    其中MainPagethis 的类型,List&lt;BarData&gt; 是参数类型

    【讨论】:

    • 感谢您回答我的问题。即使我不希望将对象列表发送到 MainPage,我仍然会输入 MainPage 吗?
    • @MirandaHall 它没有发送到主页,而是您所在的页面或上下文,因此将 MainPage 替换为您所在的位置
    • 您将如何设置订阅功能?
    猜你喜欢
    • 2018-12-15
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    相关资源
    最近更新 更多