C# 为什么分部方法支持ref而不支持out参数
我一直在阅读,因为它们在C#6/Visual Studio 2013更新2中结合使用将变得更加重要。在阅读文档时,我读到了关于部分方法签名的奇怪限制: 分部方法可以有ref参数,但不能有out参数C# 为什么分部方法支持ref而不支持out参数,c#,partial-methods,C#,Partial Methods,我一直在阅读,因为它们在C#6/Visual Studio 2013更新2中结合使用将变得更加重要。在阅读文档时,我读到了关于部分方法签名的奇怪限制: 分部方法可以有ref参数,但不能有out参数 我不明白这个限制的原因。既然分部方法基本上是一种在不同文件中签名和实现的普通方法,那个么不支持out参数又有什么技术原因呢?或任何其他对此限制的原因。特别是因为它们确实支持ref参数,如果声明了分部方法但未实现,则不会调用分部方法 这意味着未分配任何out参数,这是不允许的 这不是ref参数的问题,因
我不明白这个限制的原因。既然分部方法基本上是一种在不同文件中签名和实现的普通方法,那个么不支持out参数又有什么技术原因呢?或任何其他对此限制的原因。特别是因为它们确实支持ref参数,如果声明了分部方法但未实现,则不会调用分部方法 这意味着未分配任何
out
参数,这是不允许的
这不是
ref
参数的问题,因为在将参数传递给方法之前必须对其进行赋值,因此即使未调用该方法,也必须对其进行赋值。如果您在实现部分方法时查看需要注意的细节,那么这是有意义的:
部分方法实现是可选的
out变量从不赋值,而ref变量总是赋值。考虑到当不执行部分方法时,我们将有一个未分配的变量。ref变量没有问题,因为它有一些赋值
因此,不支持out变量,因为out变量意味着返回值。我不知道对分部方法的所有调用都被删除了。事实上,这很可怕。谢谢你的信息!