gpt4 book ai didi

vb.net - 在类中的函数中使用颜色作为 optional 参数

转载 作者:行者123 更新时间:2023-12-04 02:43:50 25 4
gpt4 key购买 nike

如何在某些函数或子函数中声明 optional 颜色参数,就像我以正常方式(我的意思是为该 optional 参数提供一些默认颜色)那样做,因为 vb.net 编译器提示说存在一些错误代码。我该如何解决这个问题。
示例代码如下:

Public Shared Function SomeFunction(ByVal iParam As Integer, Optional ByVal oColor As Color = Color.Black)

End Function

编译器不接受'=Color.Black'

最佳答案

MSDN 说关于 Optional Parameters对于 Visual Basic

For each optional parameter, you must specify a constant expression as the default value of that parameter. If the expression evaluates to Nothing, the default value of the value data type is used as the default value of the parameter.



所以你不能使用那个语法,你可以写这样的东西
Private Sub Test(a As Integer, Optional c As Color = Nothing)
If c = Nothing Then
c = Color.Black ' your default color'
End If
......
End Sub

用C#编写的相同代码如下
private void Test(int a, Color c = default(Color))
{
if (c.IsEmpty)
c = Color.Black;
}

在 C# 中,您不能针对空值测试值类型(如颜色、点、大小等)。这些类型从不为空,但它们具有类型的默认值(如整数的 0),因此,如果您需要为值类型传递 optional 参数,您可以使用 new 创建它。带有您想用作默认值的关键字或使用 default keyword并让框架决定哪个值是该类型的默认值。如果让框架选择,那么 IsEmpty 属性(property)将是真实的。

关于vb.net - 在类中的函数中使用颜色作为 optional 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16045479/

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