Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在方法的签名中使用类或变量更好吗?_Vb.net_Visual Studio - Fatal编程技术网

Vb.net 在方法的签名中使用类或变量更好吗?

Vb.net 在方法的签名中使用类或变量更好吗?,vb.net,visual-studio,Vb.net,Visual Studio,我经常想知道。就编写函数时的“最佳实践”而言,无论是在本地还是在模块/类中,最好使用: Public Function WhichIsBetter(ByVal tmpUser As String, _ tmpPassword As String) As Boolean 'Do something End Function 或 如果之前没有对代码体系结构进行过分析,我总是从ByVal tmpUser作为字符串,tmpPasswo

我经常想知道。就编写函数时的“最佳实践”而言,无论是在本地还是在模块/类中,最好使用:

Public Function WhichIsBetter(ByVal tmpUser As String, _
                              tmpPassword As String) As Boolean
    'Do something
End Function


如果之前没有对代码体系结构进行过分析,我总是从
ByVal tmpUser作为字符串,tmpPassword作为字符串开始,然后查看代码是如何演变的


如果您发现自己经常传递
tmpUser
tmpPassword
,即每个函数都有这些参数的签名+其他内容,那么您可能需要传递一个用户对象。如果你碰巧在多个函数中经常添加相同的参数,则使用一个对象。

< P>如果没有对代码体系结构做任何先前的分析,我将总是以<代码> ByVal tmpUser作为字符串,TMPHOME作为字符串
签名,看看代码是如何演变的。
如果您发现自己经常传递
tmpUser
tmpPassword
,即每个函数都有这些参数的签名+其他内容,那么您可能需要传递一个用户对象。如果你经常把相同的参数添加到多个函数中,请考虑使用一个对象。

这是风格的问题。我一直都在使用这两个函数,这取决于我使用函数的频率和/或函数的详细程度,但是否有任何“官方建议?”第二个代码片段不是有效的代码,函数必须在模块或类中编写。这两者之间有很大的区别,第二个必须使用Shared关键字才能等效。不要使用模块,它们只是为了与旧的VB代码兼容。将模块内部的声明添加到全局名称空间没有什么好处,这取决于上下文。如果传入的参数超过三个,那么应该开始查看后一个版本。但是,如果您希望其他用户将此函数用作公共API的一部分,那么在这种情况下,第一个函数可能更有意义。@HansPassant因此,如果我在应用程序中需要公共/全局变量,我应该在哪里声明它们?这是风格问题。我一直都在使用这两个函数,这取决于我使用函数的频率和/或函数的详细程度,但是否有任何“官方建议?”第二个代码片段不是有效的代码,函数必须在模块或类中编写。这两者之间有很大的区别,第二个必须使用Shared关键字才能等效。不要使用模块,它们只是为了与旧的VB代码兼容。将模块内部的声明添加到全局名称空间没有什么好处,这取决于上下文。如果传入的参数超过三个,那么应该开始查看后一个版本。但是,如果您希望其他用户将此函数用作公共API的一部分,那么在这种情况下,第一个函数可能更有意义。@HansPassant因此,如果我在应用程序中需要公共/全局变量,我应该在哪里声明它们?
Public Class User
    Public Property tmpUser As String
    Public Property tmpPassword As String
End Class

Public Function WhichIsBetter(ByVal tmpUser As User) As Boolean
     'Do something
End Function