c#等同于VB6的公共变量
本文关键字:变量 等同于 VB6 | 更新日期: 2023-09-27 18:02:50
假设我的项目包含一个Form和一个class。我想创建一个变量,可以通过窗体和类访问。在VB6中,我可以在(模块/类)中创建一个公共变量,并像这样轻松地访问它:
<<p> VB6例子/strong>[Module code]
Public string_name as string
[/Module code]
[Form Code]
string_name = "test data"
MsgBox(string_name) ' Returns "test data"
[/Form Code]
我如何用c#生成上述功能?我假设我必须创建一个公共类,但我不确定声明公共变量的最佳方式。
谢谢你,艾凡
您可以使用公共静态变量创建public static class
。
public static class MyPublicData
{
public static string MyData1 = "My public data";
}
使用:var x = MyPublicData.MyData1;
您可以在c#中做同样的事情(将字段公开为public),尽管这不是良好的实践。
用属性代替:
// public string property
public string string_name { get; set; }
// within class
string_name = "test data";
MsgBox(string_name);
// from another class
myClassInstance.string_name = "other test data";
public class MyClass
{
public int MyPublicVariable;
public int MyPublicProperty {get; set; }
}
与VB公共(或全局)变量等价的是类的公共静态属性。
必须指定
Classname.PropertyName
尝试使用带有公共静态变量的公共类。例子:
public class PortalResources
{
#region Members
public enum Mode
{
LargeIconMode,
SmallIconMode,
DetailsMode
};
public static int LargeIconSize = 150;
public static int SmallIconSize = 75;
public static string Name = "Name";
#endregion
}
用法:
int IconSize = PortalResources.LargeIconSize;
int ViewMode = PortalResources.Mode.LargeIconMode;
如果您需要该值为常量或静态只读值,则将其放置在静态类中:
public class Globals
{
public const String value = "Hello World";
}
public static class Globals
{
public static value2 = "Hello World";
}
如果该值只需要可访问(而不是只读),那么您最好将该值固定在设置文件中并抓取设置