C# 我可以在MessagingCenter中传递变量TSender吗?
我试图通过以下示例来实现这一点:C# 我可以在MessagingCenter中传递变量TSender吗?,c#,mvvm,xamarin.forms,messagingcenter,C#,Mvvm,Xamarin.forms,Messagingcenter,我试图通过以下示例来实现这一点: public void Method1(object someClassAsTSender, object parameter) { //i think parametertype = parameter... MessagingCenter.Subscribe<someClassAsTSender, parametertype> (this, "messageKey", (message, args) => {
public void Method1(object someClassAsTSender, object parameter)
{
//i think parametertype = parameter...
MessagingCenter.Subscribe<someClassAsTSender, parametertype> (this, "messageKey", (message, args) =>
{
Device.BeginInvokeOnMainThread(async () =>
{
//await do;
});
}
);
}
public void方法1(对象someClassAsTSender,对象参数)
{
//我认为parametertype=参数。。。
MessagingCenter.Subscribe(此“messageKey”(消息,参数)=>
{
Device.beginInvokeMainThread(异步()=>
{
//等待着去做;
});
}
);
}
或
public void方法2(对象someClassAsTSender,对象参数)
{
//我认为parametertype=参数。。。
MessagingCenter.Subscribe(此“messageKey”(消息,参数)=>
{
//做;
}
);
}
我试图使用GetType().Name,typeof(),但不知道如何解决这个问题。
这只是一个疑问,因为对于MVVM,我认为框架的使用更有趣
如果以这种方式使用MessagingCenter不正确,请解释
public static void Subscribe<TSender,TArgs> (object subscriber, string message, Action<TSender,TArgs> callback, TSender source = null) where TSender : class;
public static void Subscribe<TSender,TArgs> (object subscriber, string message, Action<TSender,TArgs> callback, TSender source = null) where TSender : class;
public void Method1(object someClassAsTSender, object parameter)
{
//i think parametertype = parameter...
MessagingCenter.Subscribe<someClassAsTSender, object> (this, "messageKey", (message, args) =>
{
//convert the type (e.g string data = args as string)
Device.BeginInvokeOnMainThread(async () =>
{
//await do;
});
}
);
}