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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 2010';变量';未声明。由于它';s保护级别_Vb.net_Variables_Scope_Declaration - Fatal编程技术网

Vb.net VB 2010';变量';未声明。由于它';s保护级别

Vb.net VB 2010';变量';未声明。由于它';s保护级别,vb.net,variables,scope,declaration,Vb.net,Variables,Scope,Declaration,我有点像VB的n00b,我想知道如何使变量在多个子系统中可用。这只是一个熟悉VB的测试应用程序。 我的代码: 我的错误是: “句子”未声明。由于其保护级别,它可能处于可访问状态。” 你应该说: Private Sentence As String 公开课下的判决 阅读本文了解更多信息:VB.NET中的变量有一个非常特殊的特性,根据声明方式和位置,它们的可用性限制在代码的各个部分 您的语句变量具有过程级作用域,这意味着它仅在声明它的过程中可用。在您的情况下,它是在ABCs\u Load方法(“S

我有点像VB的n00b,我想知道如何使变量在多个子系统中可用。这只是一个熟悉VB的测试应用程序。 我的代码:

我的错误是:

“句子”未声明。由于其保护级别,它可能处于可访问状态。”

你应该说:

Private Sentence As String
公开课下的判决


阅读本文了解更多信息:

VB.NET中的变量有一个非常特殊的特性,根据声明方式和位置,它们的可用性限制在代码的各个部分

您的
语句
变量具有过程级作用域,这意味着它仅在声明它的过程中可用。
在您的情况下,它是在
ABCs\u Load
方法(“Sub”)中声明的,因此它仅对该方法中的代码可用

相反,如果您希望能够访问类中任何方法中的
语句
变量(
窗体
在VB.NET中始终是类),则可以使用模块级范围声明变量。为此,您需要在任何特定方法(子或函数)之外向
语句
类添加一个。此声明将如下所示:

Private Sentence As String

当然,您也可以将变量声明为
Public
而不是
Private
,这将使当前类之外的其他类可以使用该变量。例如,如果您有第二个表单,希望能够访问
语句
变量的内容,则可以将其声明为
Public
在第一个窗体的类中,然后从第二个窗体的类中的一个方法访问它,如下所示:

MessageBox.Show(myForm1.Sentence)
请注意,因为它确实位于另一个表单中(与访问它的表单不同的类),所以您必须完全限定对它的引用。这就像您的家人可能称您为“Mike”,但其他人必须称您为“Mike Jones”,以将您与“Mike Smith”区分开来


如需进一步阅读,请参阅MSDN上的相关文章:

将其放在“公共课堂句子”下:


并从ABCs_加载范围中删除声明。

将行
Dim语句作为字符串
从ABCs_加载移动到紧跟在
公共类语句之后


这将使变量语句可用于类语句中的所有sub和函数。

如果您在页面上的每个webcontrol中都获得了变量语句,则右键单击出现错误的项目或文件夹,然后单击“转换为WebApplication”以自动生成其designer.vb文件(它们在具有相同名称的分部类中声明)。

您应该将其声明为公共变量
公共语句asString=string.empty
但如果是你,我会在全班宣布 样品

类的公共类名称
将句子变暗为string=string.empty
子系统的公共子名称
--你可以在这里使用变量“句子”
端接头
Sub2的公共子名称
--你可以在这里使用变量“句子”
端接头

end class
SentenceBox.Text=句子
放在end select之后,这将解决问题。它不允许您使用,因为按钮3:)中没有定义
句子
),希望这有帮助。

我认为您没有发布实际产生此错误消息的代码。
MessageBox.Show(myForm1.Sentence)
Dim Sentence As String = String.Empty