我正在做评估,这是我得到的一个问题:
无法对下面的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
。我已经做过评估了,我只是好奇,因为我实际上没有得到这个问题。
感谢。
更新
我收到了结果,“不幸的是”只得到了89%,根据招聘人员的说法,这还不够......无论如何,就像我在选择选项D和E之前说的那样,并且问题部分正确,并且鉴于我最多只能选择3个选项,选项A,B,C和D不能完全正确。
答案 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”::将给出错误,使用未分配的局部变量
最后两个我根本不知道,措辞可怕。