public static void SendCommand <TMahuaCommand>(this IPluginLoader pluginLoader, TMahuaCommand command)
        {
            var cmdTypeFullName = command.GetType().AssemblyQualifiedName;
            var serializeCmd    = GlobalCache.CrossDoaminSerializer.Serialize(command, typeof(TMahuaCommand));

            pluginLoader.Handle(serializeCmd, cmdTypeFullName);
        }
        public static TResult SendCommand <TCommand, TResult>(this IPluginLoader pluginLoader, TCommand command)
            where TResult : MahuaCommandResult, new() where TCommand : MahuaCommand <TResult>
        {
            var reJson = pluginLoader.Handle(GlobalCache.JavaScriptSerializer.Serialize(command),
                                             typeof(TCommand).FullName, typeof(TResult).FullName);
            var re = GlobalCache.JavaScriptSerializer.Deserialize <TResult>(reJson);

            return(re);
        }
        public static TResult SendCommand <TCommand, TResult>(this IPluginLoader pluginLoader, TCommand command)
            where TResult : MahuaCommandResult, new() where TCommand : MahuaCommand <TResult>
        {
            var cmdType    = typeof(TCommand);
            var resultType = typeof(TResult);
            var reJson     = pluginLoader.Handle(GlobalCache.CrossDoaminSerializer.Serialize(command, cmdType),
                                                 cmdType.FullName, resultType.FullName);
            var re = GlobalCache.CrossDoaminSerializer.Deserialize(reJson, resultType);

            return((TResult)re);
        }
 public static void SendCommand <TMahuaCommand>(this IPluginLoader pluginLoader, TMahuaCommand command)
 {
     pluginLoader.Handle(GlobalCache.CrossDoaminSerializer.Serialize(command, typeof(TMahuaCommand)),
                         command.GetType().FullName);
 }
 public static void SendCommand(this IPluginLoader pluginLoader, MahuaCommand command)
 {
     pluginLoader.Handle(GlobalCache.JavaScriptSerializer.Serialize(command),
                         command.GetType().FullName);
 }