Ref和out可以改变函数参数的行为。有时我们希望将变量的实际值复制为参数。其他时候我们想要一个参考。这些修饰符影响明确的赋值分析。
我的问题是:C#中的部分方法可以有ref,out,可选的输入参数吗?
答案 0 :(得分:1)
通过this example中的代码试验,您似乎可以发现可以使用ref
,params
和默认参数值,但不能使用out
partial class A
{
partial void OnSomethingHappened(string s);
partial void useRef(ref string s);
partial void useOpt(string s1, string s2 = null);
partial void useArgs(params string [] s);
}
// This part can be in a separate file.
partial class A
{
// Comment out this method and the program
// will still compile.
partial void OnSomethingHappened(String s)
{
Console.WriteLine("Something happened: {0}", s);
}
}
另外,正如the docs linked由@ user6144226解释并由@marc_s指出:
部分方法可以有参考但不能输出参数。