class demo
{
    /// <summary>
    /// 切换页面并执行页面方法
    /// </summary>
    public void GoToPage()
    {
        INavMenu inmobj = UnityInvoker.MainInvoke<INavMenu>();
        inmobj.MenuItemClick_ForceRefresh("WS110110", true);
        IServiceContainer isc = UnityInvoker.MainInvoke<IServiceContainer>();
        foreach (Form chfrm in isc.ContainerForm.MdiChildren)
        {
            SysNavMenuObject chmenu = chfrm.Tag as SysNavMenuObject;
            if (null == chmenu) continue;
            if (chmenu.MenuRow.DirId == "WS110110")
            {
                ICompositeUIForm icfrm = chfrm as ICompositeUIForm;
                if (null == icfrm) continue;
                if (null != icfrm.SubListForm)
                {
                    // 方法1 无法引用 BillBatchOutListForm 时使用方法2
                    (icfrm.SubListForm as BillBatchOutListForm).Method_GridItemFocused(oprst.ErrMsg);

                    #region 方法2
                    try
                    {
                        var typeName = "WMS.BillB2BModule.BillSalesOrderListForm";
                        var assembly = Assembly.LoadFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "WMS.BillB2BModule.dll"));
                        var type = assembly.GetType(typeName);
                        var obj = assembly.CreateInstance(typeName); // 创建类的实例
                                                                     // 注意获取重载方法,需要指定参数类型
                        var method = type.GetMethod("Method_GridItemFocused", new Type[] { typeof(string) }); // 获取方法信息
                        var parameters = new object[] { syncBillId };
                        method.Invoke(obj, parameters); // 调用方法,有参数
                    }
                    catch (Exception ex)
                    {
                        DevMsgBox.ShowWarning("操作失败:" + ex.Message);
                    }
                    #endregion

                }
                break;
            }
        }
    }
}