【发布时间】:2020-11-02 19:08:59
【问题描述】:
我对 C# 中的可选参数感到非常困惑和困惑 我正在尝试完成与 C++ 和 VB 相同的操作,如果不需要参数为什么还要传递它,我在下面的函数中使用以下内容,但是当我使用函数时,它仍然需要传递作为参数。 有没有办法如果不需要传递可选参数来跳过它,只传递必要的参数?
public static void WindowTOpen(string pUrl2Open, [Optional, DefaultParameterValue("")] string pWinName, [Optional, DefaultParameterValue(0)] int pWidth, [Optional, DefaultParameterValue(0)] int pHeight, [Optional, DefaultParameterValue("")] string pWinParams, object sender, System.Web.UI.Page pHtmlPage)
{
//- Default to Page Display Minimun Size 800 x 600
if (pWidth == 0) { pWidth = 800; }
if (pHeight == 0) { pHeight = 600; }
if (pWinName.Trim().Length == 0) { pWinName = "NeWin"; }
string _WINDOW_TO_OPEN = "window.open(" + _sDOUBLE_QUOTE + pUrl2Open.Trim() + _sDOUBLE_QUOTE + "," + _sDOUBLE_QUOTE;
_WINDOW_TO_OPEN += pWinName.Trim() + _sDOUBLE_QUOTE + "," + _sDOUBLE_QUOTE + " width=" + pWidth.ToString() + ",";
_WINDOW_TO_OPEN += "height=" + pHeight.ToString();
if (pWinParams.Trim().Length > 0)
{
_WINDOW_TO_OPEN += pWinParams.Trim();
}
else
{
_WINDOW_TO_OPEN += _WIN_OPEN_PARAMS;
}
_WINDOW_TO_OPEN += _sDOUBLE_QUOTE + ")";
ScriptManager.RegisterClientScriptBlock((sender as Control), pHtmlPage.GetType(), "winpop", _WINDOW_TO_OPEN, true);
}
谢谢
【问题讨论】: