-6

ref 和 out 可以改变函数参数的行为。有时我们希望将变量的实际值复制为参数。其他时候我们需要参考。这些修饰符影响明确的赋值分析。

我的问题是:C# 中的部分方法可以有 ref、out、可选的输入参数吗?

4

1 回答 1

1

通过对本示例中的代码进行试验,您似乎可以发现可以使用refparams和 默认参数值,但不能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 参数。

于 2017-08-03T16:43:28.507 回答