// Какова техническая причина этого сценария.?Метод вызова класса внутри него
ответ
Метод вызова statementне может быть частью class
declaration, но только вFunction members деклараций области, такие как методы, свойства, конструкторы и т. д.
Например:
public class ExampleClass
{
private void SayHelloWorld()
{
Console.Writeline("Hello World!");
}
public void CallSayHelloWorldMethod()
{
this.SayHelloWorld();
}
}
В приведенном выше примере вы можете увидеть, что я вызываю метод SayHelloWorld
в методе CallSayHelloWorldMethod
.
Update:
Ближайший вещь, которую я могу думать в вашем случае использовать class
«s constructor, где ваш вызов метода будет выполнена, как только вы будете создать экземпляр класса:
public class ExampleClass
{
//The class constructor
public ExampleClass()
{
this.SayHelloWorld();
}
private void SayHelloWorld()
{
Console.Writeline("Hello World!");
}
}
И когда вы инстанцировании, он будет сразу же называется:
//Your method call will be executed here
ExampleClass exampleClass = new ExampleClass();
, если вы не возражаете, не могли бы вы рассказать мне, что именно они не реализовали эту функциональность (оператор вызова метода как часть класса). Я имею в виду логику этого. потому что я изучал программирование, понимая самую глубокую его часть. поэтому мне мало любопытно узнать причину этого тоже ... я верю, что за этим будет логическое объяснение. – PSB
@prasobkumarkp Когда вы ожидаете, что вызов вашего метода будет выполнен, только если он является частью уровня определения класса? Я могу предположить, что вы хотите, чтобы он выполнялся, как только экземпляр класса был создан, и для этого вы должны вызвать его в конструкторе класса, который выполняется, как только вы используете свой класс (объект). См. Мое обновление в ответе. –
Вы пытаетесь использовать инструкцию, отличную от декларации непосредственно внутри класса, а не внутри метода. Когда вы ожидали, что метод будет вызван?
В основном все вы можете непосредственно в типа куче объявлений - методы, переменные, конструкторы, событиях, вложенных типов и т.д. Метод требует (или любых других заявлений), которые не являются частью декларации, для записи в методах, конструкторах и т. д.
У вас есть несколько проблем ... Это не будет даже компилироваться, поскольку вы пытаетесь вызвать метод obj.m1() в определении класса.
A obj = new A();
obj.m1(); // Why this code wont work??? --> This must be inside a method
При создании экземпляра класса он будет создавать новую переменную-член с именем OBJ, который является экземпляром A -> A OBJ = NEWA() выше;
Теперь вы сможете вызвать методы obj, как в вашем втором примере.
Кроме того, для того, чтобы получить это скомпилировать вам нужно будет исправить метод м2:
public void m2() { //--> should have a curly brace
obj.m1(); // But This will work.
}
- 1. Метод вызова класса внутри __init__
- 2. Метод вызова внутри внутреннего класса
- 3. Метод вызова производного класса
- 4. Исключить класс DAO и метод внутри него
- 5. Завершить метод класса вызова
- 6. Метод вызова класса объекта
- 7. Ограничивающий метод вызова класса
- 8. Метод вызова класса дважды
- 9. метод вызова python извне класса
- 10. метод вызова внутри фрагмента
- 11. Метод вызова внутри конструктора
- 12. метод класса вызова в рамках
- 13. Переменная вызова внутри класса
- 14. метод вызова заданной строки для него
- 15. PHP метод класса вызова для другого класса
- 16. Шаблон метод родительского класса вызова
- 17. Python - методы вызова внутри класса, изнутри класса
- 18. Метод вызова метода вызова вызова класса VS. Лучшая практика?
- 19. Как накапливать метод вызова вызова с переменной внутри него в качестве аргумента?
- 20. Метод вызова вызова из другого класса
- 21. Angularjs: метод вызова вызова внутри функции
- 22. preg заменить на метод внутри него
- 23. Как объект метод вызова функции внутри другого класса
- 24. Машинопись: метод вызова из другого метода внутри класса
- 25. Метод доступа для вызова класса
- 26. Метод вызова из предыдущего класса
- 27. Метод вызова из другого класса
- 28. станд :: нить метод вызова класса
- 29. Метод вызова базового класса шаблона
- 30. Метод вызова Python вне класса
ответа на один вопрос: когда должен ли метод выполняться при записи в класс? –