gpt4 book ai didi

C# XNA Xbox,本例可选参数不可选

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:55 25 4
gpt4 key购买 nike

显然,当在 Xbox 上使用时,可选参数在 C# Xna 中不起作用,在编译期间声明不支持。

我有这样的情况:

func(float? a = null, int? b = null)

这些可选参数中有大量默认为“未定义”值 null。需要这种情况。

在上面的简化示例中,这可以展开,尽管这不是可选参数所允许的:

func()
func(float? a)
func(int? b)
func(float? a, int? b)

然而,对于大量参数,这是不切实际的。

一些参数定义的组合是不允许的,并且会导致我在函数中抛出参数异常的路径,其他会导致各种不同的事情发生,具体取决于参数的值。这类似于同名但不相同的函数之间的多态性。

我可以选择,并且可能是最实际的,改为要求所有参数。

func(float? a, int? b)

然后这样调用:

func(null, 4)

其中第一个未定义。

有没有一种方法可以在 Xbox 上的 C# XNA 中启用可选参数,而不是使用上述方法之一?

最佳答案

我会使用采用不同数量参数的老式重载,并从那里转发调用以及“默认”值。调用者的零代码更改。

如果类型不在您的控制范围内:添加重载的扩展方法。

关于C# XNA Xbox,本例可选参数不可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9502507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com