gpt4 book ai didi

vb.net - Visual Basic、导入和模块中的安全字符串

转载 作者:行者123 更新时间:2023-12-03 08:21:14 26 4
gpt4 key购买 nike

我正在尝试输入密码并将其存储为安全字符串。我在 MSDN 上找到了以下代码。

Imports System.Security

Module Example
Public Sub Main()
' Define the string value to be assigned to the secure string.
Dim initString As String = "TestString"
' Instantiate the secure string.
Dim testString As SecureString = New SecureString()
' Use the AppendChar method to add each char value to the secure string.
For Each ch As Char In initString
testString.AppendChar(ch)
Next
' Display secure string length.
Console.WriteLine("The length of the string is {0} characters.", _
testString.Length)
testString.Dispose()
End Sub
End Module
' The example displays the following output:
' The length of the string is 10 characters.

但是我遗漏了一些东西,因为当我将它粘贴到公共(public)类元素中时,我得到了错误。错误如下:
'Imports' statements must precede an declarations

'Module' statements can occur only at file or namespace level

我尝试将 import 语句放在任何 dim 之前。我的其他代码中的语句这没有帮助,而且我不确定我应该将模块放在哪里(即文件或命名空间级别在哪里?)

非常感谢任何帮助

最佳答案

VB .NET中的文件结构

你的问题来自于你可能不明白什么是类、模块等等......所以让我们回顾一下......

对 VB .NET 的完整回顾:https://msdn.microsoft.com/en-us/library/aa712050%28v=vs.71%29.aspx

不过有点长...

进口声明

这句话是说:“嘿编译器,我要使用一些你会在这个文件中找到的功能,请将它链接到我的文件”

所以Imports System.Security意味着您导入命名空间 System.Security 中包含的所有类和方法。

放在哪里?

此语句应放在 .vb 文件的开头。它不能在其他任何东西里面。唯一可以做的事情是选项(例如“Option Strict On”,但我们不会在这里讨论......)。

集体声明

放置类语句意味着您正在为一个对象创建一个新的“蓝图”。您将要定义它的方法、属性和功能。

放在哪里?

Imports 之后有一个类语句。声明并且可以放置在命名空间、模块或其他类中

模块声明

VB .NET 中的一个模块,除了共享类之外别无其他。如果您注意到,您不能声明共享类,而必须声明一个模块。

这意味着什么 ?

这意味着无需实例化任何对象即可访问模块内的任何内容。如果您的模块提供测试方法:

Public Module MyModule
Public Function Test() As String
Return "Test"
End Function
End Module

然后您可以通过执行以下操作调用该方法:
'... Anywhere in your code
MyModule.Test()

放在哪里?

一个模块就像一个类,但是它 不能被放置在另一个类中。它必须放在命名空间或您的文件中。

希望这可以帮助...

所以基本上
Option Strict On

Imports System.Security

Namespace MyNamespace

Public Module MyModule
'My code here

Public Class MyClassInsideAModule
'My code here
End Class
End Module

Public Class MyClass
'My code here
Public Class MyClassInsideAClass
'My code here
End Class
End Class

End Namespace

关于vb.net - Visual Basic、导入和模块中的安全字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36174413/

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