свойства класса - PullRequest
       2

свойства класса

0 голосов
/ 09 февраля 2011


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

class Abc
{
    private float foo;
    public float Foo {
        get { return foo; }
        set { foo = value; }
    }

    public static void Hello() {
        foo = 5.0f;
        Console.WriteLine("Hello everyone!");
    }
}

.... somewhere else ....

Abc bar;
bar.Foo = 5.0f;       // ok, I know this
bar.Hello();          // fine, I know this too

Abc.Hello();          // I'm trying to do this!

EDIT:
Хорошо, теперь предположим, что я хотел бы назначить что-то для foo в Hello (как в моем коде) Я знаю, что это может звучать как чепуха, поэтому я не уверен, что это даже возможно.

Ответы [ 2 ]

2 голосов
/ 09 февраля 2011

Вам нужна static функция-член.static функции-члены не связаны с конкретным экземпляром класса, что вам потребуется, если вы хотите получить к ним доступ через сам класс .Особенности немного различаются в зависимости от того, интересуетесь ли вы C ++ или C #.

0 голосов
/ 09 февраля 2011

Сделать Hello() статичным; таким образом, он не требует создания экземпляра класса.

public static void Hello() { ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...