ref 和 out 可以改变函数参数的行为。有时我们希望将变量的实际值复制为参数。其他时候我们需要参考。这些修饰符影响明确的赋值分析。
我的问题是:C# 中的部分方法可以有 ref、out、可选的输入参数吗?
ref 和 out 可以改变函数参数的行为。有时我们希望将变量的实际值复制为参数。其他时候我们需要参考。这些修饰符影响明确的赋值分析。
我的问题是:C# 中的部分方法可以有 ref、out、可选的输入参数吗?
通过对本示例中的代码进行试验,您似乎可以发现可以使用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);
}
}
此外,正如@user6144226链接并由@marc_s 指出的文档所解释的:
部分方法可以有 ref 但不能有 out 参数。