更改为方法声明

时间:2013-04-23 22:51:16

标签: c#

我正在做评估,这是我得到的一个问题:

无法对下面的C#方法调用(document.SaveAs(...))声明进行以下哪些更改以简化代码:

object fileName = "Test.docx";
object missing = Missing.Value;

document.SaveAs(ref fileName,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing);
  • object missing = Missing.Value;替换为object Missing
  • 删除object fileName = "Test.docx";声明
  • 删除ref
  • 的所有内容
  • ref fileName替换为FileName: "Test.docx"
  • ref fileName替换为FileName: ref fileName

我已经做过评估了,我只是好奇,因为我实际上没有得到这个问题。

感谢。

enter image description here

更新

我收到了结果,“不幸的是”只得到了89%,根据招聘人员的说法,这还不够......无论如何,就像我在选择选项D和E之前说的那样,并且问题部分正确,并且鉴于我最多只能选择3个选项,选项A,B,C和D不能完全正确。

2 个答案:

答案 0 :(得分:1)

由于最后一个引起混淆,这可能有所帮助。

public class Document
{
    public void SaveAs(ref string DocName)
    {

    }
}

请注意,参数名称为DocName。通常这个参数名称被认为是方法仅使用的东西,并且在方法之外并不重要,但是从.NET 4开始(我认为?),C#可以使用这种格式的命名参数。如果你熟悉Objective-C,你会经常看到这些。使用命名参数,DocName很重要。

我们现在可以像这样调用这个方法

string fName = "Test.docx";
Document d = new Document();
d.SaveAs(DocName: ref fName);

请注意,必须使用DocName,否则编译器将抛出错误(因此您无法执行d.SaveAs(RandomName: ref fName);)。另请注意,字符串变量在方法声明(d.SaveAs(DocName: "Test.docx");)中传递并未实例化。

答案 1 :(得分:0)

  • 替换对象缺失= Missing.Value;对象缺失删除:将给出错误,使用未分配的局部变量

  • object fileName =“Test.docx”::将给出错误,使用未分配的局部变量

  • 语句删除所有出现的ref:这没关系,将引用的变量转换为本地变量

最后两个我根本不知道,措辞可怕。