0

I'm trying to do this with this examples:

public void Method1(object someClassAsTSender, object parameter)
{
    //i think parametertype = parameter...
    MessagingCenter.Subscribe<someClassAsTSender, parametertype> (this, "messageKey", (message, args) =>
    {
        Device.BeginInvokeOnMainThread(async () =>
        {
            //await do;
        });
    }
    );
}

or

public void Method2(object someClassAsTSender, object parameter)
{
        //i think parametertype = parameter...
        MessagingCenter.Subscribe<someClassAsTSender, parametertype> (this, "messageKey", (message, args) =>
        {
            //do;
        }
    );
}

I tryied to use GetType().Name, typeof(), but no have idea how i solve this. It's just a doubth, because to MVVM i considerate an use of Framework more interestant.

If it is not correct to use MessagingCenter in this way, please explain.

MATCH
  • 100
  • 10

1 Answers1

0
public static void Subscribe<TSender,TArgs> (object subscriber, string message, Action<TSender,TArgs> callback, TSender source = null) where TSender : class;

TArgs is the type of the objects that are used as message arguments for the message,but you could not use typeof or GetType to set it.you could set it to object like :

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;
        });
    }
   );
 }
Leo Zhu
  • 15,726
  • 1
  • 7
  • 23