Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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
.net 为什么子签名中有2()?_.net_Vb.net - Fatal编程技术网

.net 为什么子签名中有2()?

.net 为什么子签名中有2()?,.net,vb.net,.net,Vb.net,最近我问了一个问题,得到了一个有效的答案。下面的代码是工作代码。我无法理解副签名。为什么sub有两个()()。我的意思是我不理解第一个(算法为对称算法)。显然,第二个是参数。你能指给我看更多的地方吗 Public Shared Sub DecryptTo(Of Algorithm As SymmetricAlgorithm)(sourceStream As Stream, stream As Stream, password As String) Dim pdb = GetPasswor

最近我问了一个问题,得到了一个有效的答案。下面的代码是工作代码。我无法理解副签名。为什么sub有两个()()。我的意思是我不理解第一个
(算法为对称算法)
。显然,第二个是参数。你能指给我看更多的地方吗

Public Shared Sub DecryptTo(Of Algorithm As SymmetricAlgorithm)(sourceStream As Stream, stream As Stream, password As String)
    Dim pdb = GetPassword(password)
    Using alg = Activator.CreateInstance(Of Algorithm)()
        Using trans = alg.CreateDecryptor(pdb.GetBytes(alg.KeySize / 8), pdb.GetBytes(16))
            Using cStream = New CryptoStream(sourceStream, trans, CryptoStreamMode.Read)
                cStream.CopyTo(stream)
            End Using
        End Using
    End Using
End Sub
在 可以找到泛型的描述(这是第一组括号的原因)

它开始于:

泛型类型是一个适应于执行 对于各种数据类型,都具有相同的功能。当您定义 泛型类或过程,不必定义单独的 您可能希望为其执行该操作的每个数据类型的版本 功能

一个类比是一把带有可拆卸头的螺丝刀。你检查一下房间 螺钉您需要转动并为该螺钉选择正确的头部 (开槽的、交叉的、带星星的)。一旦将正确的头部插入 螺丝刀手柄,您可以执行与 螺丝刀,即转动螺丝

螺丝刀作为一种通用工具

定义泛型类型时,可以使用一个或多个 数据类型。这允许使用代码根据其自身的特性定制数据类型 要求。您的代码可以声明几个不同的编程 元素,每个元素作用于不同的集合 数据类型的定义。但是声明的元素都执行相同的操作 逻辑,无论他们使用什么数据类型

例如,您可能希望创建并使用一个队列类 对特定数据类型(如字符串)进行操作。你可以申报这些 System.Collections.Generic.Queue中的类,如下所示 示例显示

VB Public stringQ作为新的System.Collections.Generic.Queue(字符串)

现在可以使用stringQ专门处理字符串值。 因为stringQ是特定于字符串的,而不是一般化的 对于对象值,没有后期绑定或类型转换。 这节省了执行时间并减少了运行时错误

在 可以找到泛型的描述(这是第一组括号的原因)

它开始于:

泛型类型是一个适应于执行 对于各种数据类型,都具有相同的功能。当您定义 泛型类或过程,不必定义单独的 您可能希望为其执行该操作的每个数据类型的版本 功能

一个类比是一把带有可拆卸头的螺丝刀。你检查一下房间 螺钉您需要转动并为该螺钉选择正确的头部 (开槽的、交叉的、带星星的)。一旦将正确的头部插入 螺丝刀手柄,您可以执行与 螺丝刀,即转动螺丝

螺丝刀作为一种通用工具

定义泛型类型时,可以使用一个或多个 数据类型。这允许使用代码根据其自身的特性定制数据类型 要求。您的代码可以声明几个不同的编程 元素,每个元素作用于不同的集合 数据类型的定义。但是声明的元素都执行相同的操作 逻辑,无论他们使用什么数据类型

例如,您可能希望创建并使用一个队列类 对特定数据类型(如字符串)进行操作。你可以申报这些 System.Collections.Generic.Queue中的类,如下所示 示例显示

VB Public stringQ作为新的System.Collections.Generic.Queue(字符串)

现在可以使用stringQ专门处理字符串值。 因为stringQ是特定于字符串的,而不是一般化的 对于对象值,没有后期绑定或类型转换。 这节省了执行时间并减少了运行时错误


VB.NET以几种不同的方式使用括号:

  • 方法声明或方法调用的参数部分(与C#相同)
  • 声明(相当于C#)
  • 声明和索引(相当于C#中的[])

VB.NET以几种不同的方式使用括号:

  • 方法声明或方法调用的参数部分(与C#相同)
  • 声明(相当于C#)
  • 声明和索引(相当于C#中的[])

BoltClock:请求是“你能指给我看更多关于它的地方吗?”。。。因此,提供了一个普通的旧链接。是的,但至少你可以给链接一个标题,这样人们就知道它会导致什么样的页面。只包含链接的答案的问题是,如果链接存在,它们就会完全断开。请编辑此答案,至少总结一下链接中可以找到的内容,否则需要将其转换为评论。添加了说明和解释。EnjoyBoltClock:请求是“您能告诉我在哪里可以阅读更多信息吗?”。。。因此,提供了一个普通的旧链接。是的,但至少你可以给链接一个标题,这样人们就知道它会导致什么样的页面。只包含链接的答案的问题是,如果链接存在,它们就会完全断开。请编辑此答案,以至少总结链接中可以找到的内容,否则需要将其转换为评论。添加了说明和解释。如果有人可以添加一些简单的示例作为此问题的新答案,那就太好了,即使此问题有可接受的答案。我想在VB中学习更多关于泛型的知识,但是我没有很好的实用和简单的例子来说明何时以及为什么要使用它。螺丝刀的例子是很好的,刚刚开始了解它,但它并不需要我的所有方式。感谢..值得一提的是,引用的第二个示例是强类型集合,这是使用泛型的更常见原因之一。i、 而不是写作