c # Эквивалентно VB6 Открытая переменная - PullRequest
0 голосов
/ 20 июля 2011

Предположим, что мой проект содержит форму и класс. Я хотел бы создать переменную, к которой могут обращаться как класс , так и класс. В VB6 я мог бы создать публичную переменную в (модуль / класс) и легко получить к ней доступ так:

VB6 Пример

[Module code]

Public string_name as string

[/Module code]

[Form Code]

string_name = "test data"
MsgBox(string_name) ' Returns "test data"

[/Form Code]

Как я мог произвести вышеупомянутую функциональность с C #? Я предполагаю, что мне нужно будет создать открытый класс, но я не уверен, как лучше объявить публичные переменные.

спасибо,

Evan

Ответы [ 6 ]

2 голосов
/ 20 июля 2011

Вы можете создать public static class с общедоступной статической переменной.

public static class MyPublicData
{

    public static string MyData1 = "My public data";

}

Для использования:

var x = MyPublicData.MyData1;
1 голос
/ 20 июля 2011

Вы можете сделать то же самое в 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";
0 голосов
/ 20 июля 2011

Если вам нужно, чтобы значение было постоянным или статическим значением только для чтения, поместите его в статический класс:

public class Globals
{
    public const String value = "Hello World";
}

public static class Globals
{
    public static value2 = "Hello World";
}

Если значение просто должно быть доступно (не только для чтения), тогда вылучше вставить это значение в файл настроек и получить настройки.

0 голосов
/ 20 июля 2011

Эквивалентом публичной (или глобальной) переменной VB является публичное статическое свойство класса.

Вы должны указать

Classname.PropertyName

Чтобы получить к нему доступ, однако.

0 голосов
/ 20 июля 2011

Попробуйте публичный класс с публичной статической переменной. Пример:

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;
0 голосов
/ 20 июля 2011
public class MyClass
{
  public int MyPublicVariable;
  public int MyPublicProperty {get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...