Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.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# 我可以在MessagingCenter中传递变量TSender吗?_C#_Mvvm_Xamarin.forms_Messagingcenter - Fatal编程技术网

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;
        });
    }
   );
 }