可选参数必须出现在所有必需参数之后

时间:2019-06-14 18:00:33

标签: c# unity3d

更新项目并运行unity3d的Api Updater时出现此错误:

  

可选参数必须出现在所有必需参数之后

你知道这段代码怎么了吗?

public static Transform AddChild(this Transform tfm, string name = "", 
    [Optional] Vector3 offset)

2 个答案:

答案 0 :(得分:1)

如果您希望最后一个参数是可选的,请同时为其提供一个默认值

public static Transform AddChild(this Transform tfm, string name = "", Vector3 offset = default)

有关更多信息,请参见c# - Optional Parameters

答案 1 :(得分:1)

您似乎希望offset是一个可选参数。为此,如果某人未在其方法调用中提供默认值,则需要确定适当的默认值。如果您有不将偏移量视为特殊情况的逻辑,建议您将其设置为可为空。

public static Transform AddChild(this Transform tfm, string name = "", Vector3? offset = null)

如果不提供偏移量,则表示偏移量为零(将此转换与其父对象放在同一位置),然后将其设置为default

public static Transform AddChild(this Transform tfm, string name = "", Vector3 offset = default)