#c#
#c#
Вопрос:
Это вопрос новичка
using System.name;
class class_name
{
private className Obj;
public class_name()
{
}
public function()
{
Obj.function <----- why i cant acesss the global varible here ??
}
}
Когда я ввожу класс, доцент instellisence показывает любую вещь:-s
Ответ №1:
Я предполагаю, что произошла просто некоторая путаница с именами, и, function
вы имели в виду class_name
, или вместо class_name
вы имели в виду className
.
Чтобы получить доступ к методу таким образом, он должен быть объявлен как статический. В противном случае вы должны сначала создать экземпляр класса и получить доступ к методу через экземпляр.
ОТРЕДАКТИРУЙТЕ опубликованный вами код, он очень запутанный. Для меня следующее работает просто отлично.
class Class1
{
public void Function1()
{
}
}
class Class2
{
private Class1 obj;
public void Function2()
{
obj.Function1();
}
}
Комментарии:
1. я уже создал глобальную,
private className Obj;
но не могу получить доступ изfunction
, потому что она не статична?2. Нет, вы создали член класса. И, опять же, если вы не объявляете элемент как статический, то вы должны создать экземпляр класса, чтобы получить доступ к этому элементу. Если вы хотите получить к ней доступ таким образом, объявите ее как
private static className obj;
.3. Исправьте имена ваших символов. Это очень запутанно. Я думаю, вы не использовали одно и то же имя для ссылок на один и тот же символ.
4.
private classsName Obj = new Classname();
но та же проблема!5. Где
className
объявлено? Если вам нужна помощь, не могли бы вы просто уделить минутку и исправить свои ошибки?
Ответ №2:
Вы создали экземпляр этого класса?
Комментарии:
1. да!
private className Obj;
2. @Sudantha Попробуйте использовать private className obj = new className();