错误C#.NET 3.0:'CreatePageSection(ref string,ref string,ref object)'的最佳重载方法匹配有一些无效的参数

时间:2012-06-07 06:29:23

标签: c#-3.0

我遇到了以下问题。我遇到有关默认参数的错误。我为一个重载添加了一段简单的代码。现在我进入新代码(第3行:CreatePageSection(sItemID,“”,null);)给出标题中提到的错误。

我在其他主题中寻找答案,但我找不到问题。有人能帮助我吗?

代码可在此处找到:

public void CreatePageSection(ref string sItemID)
    {
        CreatePageSection(sItemID, "", null);
    }

public void CreatePageSection(ref string sItemID, ref string sFrameUrl, ref object vOnReadyState)
    {

        if (Strings.InStr(msPresentPageSections, "|" + sItemID + "|", 0) > 0) {
            return;
        }
        msPresentPageSections = msPresentPageSections + sItemID + "|";

        string writeHtml = "<div class=" + MConstants.QUOTE + "PageSection" + MConstants.QUOTE + " id=" + MConstants.QUOTE + "Section" + sItemID + "Div" + MConstants.QUOTE + " style=" + MConstants.QUOTE + "display: none;" + MConstants.QUOTE + ">";
        this.WriteLine_Renamed(ref writeHtml);
        //UPGRADE_WARNING: Couldn't resolve default property of object vOnReadyState. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
        //UPGRADE_NOTE: IsMissing() was changed to IsNothing_Renamed(). Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="8AE1CB93-37AB-439A-A4FF-BE3B6760BB23"'
        writeHtml = "  <iframe id=" + MConstants.QUOTE + sItemID + "Frame" + MConstants.QUOTE + " name=" + MConstants.QUOTE + sItemID + "Frame" + MConstants.QUOTE + " frameborder=" + MConstants.QUOTE + "0" + MConstants.QUOTE + (!string.IsNullOrEmpty(sFrameUrl) ? " src=" + MConstants.QUOTE + sFrameUrl + MConstants.QUOTE : "") + ((vOnReadyState == null) ? "" : " onreadystatechange=" + MConstants.QUOTE + Convert.ToString(vOnReadyState) + MConstants.QUOTE) + ">";
        this.WriteLine_Renamed(ref writeHtml);
        writeHtml = "  </iframe>";
        this.WriteLine_Renamed(ref writeHtml);
        writeHtml = "</div>";
        this.WriteLine_Renamed(ref writeHtml);

    }

2 个答案:

答案 0 :(得分:2)

你必须通过引用传递params

public void CreatePageSection(ref string sItemID)
{
    var missingString = String.Empty;
    object missingObject = null;
    CreatePageSection(ref sItemID, ref missingString, ref  missingObject);
}

答案 1 :(得分:0)

由于您没有操纵sFrameUrlvOnReadyState,请从这些参数中删除ref关键字。

请参阅:http://msdn.microsoft.com/en-us/library/14akc2c7(v=vs.71).aspx

HTH

马里奥