C# 可选参数必须出现在所有必需参数之后
我在更新项目并运行unity3d的Api更新程序时遇到此错误: 可选参数必须出现在所有必需参数之后 知道这个代码有什么问题吗C# 可选参数必须出现在所有必需参数之后,c#,unity3d,C#,Unity3d,我在更新项目并运行unity3d的Api更新程序时遇到此错误: 可选参数必须出现在所有必需参数之后 知道这个代码有什么问题吗 public static Transform AddChild(this Transform tfm, string name = "", [Optional] Vector3 offset) 如果希望最后一个参数是可选的,那么也给它一个默认值 public static Transform AddChild(this Transform tfm, stri
public static Transform AddChild(this Transform tfm, string name = "",
[Optional] Vector3 offset)
如果希望最后一个参数是可选的,那么也给它一个默认值
public static Transform AddChild(this Transform tfm, string name = "", Vector3 offset = default)
有关更多信息,请参阅。如果希望最后一个参数为可选参数,请同时为其提供默认值
public static Transform AddChild(this Transform tfm, string name = "", Vector3 offset = default)
有关详细信息,请参阅。您似乎希望将偏移量
作为可选参数。要做到这一点,您需要确定如果有人在方法调用中没有提供默认值,那么适当的默认值是多少。如果您有将无偏移视为特例的逻辑,我建议将其设为可空
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)
看起来您希望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)
出现了什么错误?错误是指string name=”“
是可选参数。看看。你是从哪里想到在C#?:facepalm中使用[可选]的:*我知道你现在做了什么。错误文本是问题的标题。“此错误”指的是标题。我认为这对于堆栈溢出来说有点不寻常。最好将错误文本发布到问题正文中。这有点让人困惑。类似的问题:@JonathonChase是用于。出现了什么错误?错误是指string name=”“
是可选参数。看看。你是从哪里想到在C#?:facepalm中使用[可选]的:*我知道你现在做了什么。错误文本是问题的标题。“此错误”指的是标题。我认为这对于堆栈溢出来说有点不寻常。最好将错误文本发布到问题正文中。这有点让人困惑。类似的问题:@JonathonChase用于。在Vector3
和Vector3?
之间存在差异。问号是C#可以为空的缩写。。那就别管了;)Vector3
和Vector3?
之间存在差异。问号是C#可以为空的缩写。。那就别管了;)文档列表Vector3.zero
是一个静态属性,而不是常量。如果这是正确的,那么我认为C#不会让您将其用作可选默认值default(Vector3)
或只是简写的default
应该是相同的意思。是的,它必须是default
或new Vector3()
文档列表Vector3.zero
作为静态属性,而不是常量。如果这是正确的,那么我认为C#不会让您将其用作可选默认值default(Vector3)
或只是简写的default
应该是相同的意思。是的,它必须是default
或new Vector3()