static class test
{
private static string Astring="static";
public static void method(string Astring)
{
string passedString = Astring; // will be the passed value
string staticField = test.Astring; // will be static
}
}
если мы называем метод, как test.method("Parameter");
staticField
будет иметь значение static
и passedString
будет иметь значение Parameter
.
Ключевое слово this
обозначает текущий экземпляр класса; статические поля не могут быть доступны через экземпляр, вместо этого вы должны использовать имя класса для доступа к статическому полю.
Примечание: - Пожалуйста, позаботьтесь, пока naming the variables. Избегайте предоставления одинакового имени в одном классе. Будет лучше, если вы определите класс следующим образом:
static class test
{
private static string StaticAstring="static";
public static void method(string passedAstring)
{
string staticField = StaticAstring; // will be static
string passedString = passedAstring; // will be the passed value
}
}
Лучшим вариантом было бы переименование параметра * в 'astring'. Соглашением является то, что параметры начинаются с строчной буквы –