Перейти к содержимому

Как вызвать метод из другого класса c

  • автор:

Вызов нестатичного метода из другого класса

P.S.Да, вопрос однозначно тупой, а ответ гениально прост.Но я пытался сделать все сам, так и не получилось.

13 дек 2017 в 13:32
Blaster b=new Blaster(); b.PewPew();
13 дек 2017 в 14:37

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Раз у вас есть класс Shoot , которому нужен бластер, то вам нужно дать этому классу экземпляр бластера. Соответственно бластер должен приходить либо в конструкторе (ну или в крайнем случае через публичное свойство), либо как аргумент метода.

Получится либо так:

public class Shoot : MonoBehaviour < Blaster blaster; public void Shot()< blaster.PewPew(); >// тут другой код > 
public class Shoot : MonoBehaviour < Blaster blaster = new Blaster(); public void Shot()< blaster.PewPew(); >> 
public class Shoot : MonoBehaviour < public void Shot(Blaster blaster)< blaster.PewPew(); >> 

Как использовать метод из другого класса java

Чтобы использовать метод из другого класса его необходимо вызвать через объект этого класса или через имя класса, если метод статический.

// Класс, где вызываем методы другого класса public class Example  public static void main(String[] args)  // Создаем объект класса Greetings greetings = new Greetings(); // Вызываем метод greetings.printHello(); // => Hello // Вызываем статический метод Greetings.printHexlet(); // => Hexlet > > class Greetings  public void printHello()  System.out.println("Hello"); > public static void printHexlet()  System.out.println("Hexlet"); > > 

Как вызвать метод из другого класса c

Ну еще можно сделать свой класс наследником класса программ. что-то вроде такого(правда не знаю сработает ли,но должно..))

namespace MySpase < public class Program < public void ShowText(string text) \\вызвать этот метод < writeline(text); >> static class Function:Program < void myFunction() < this.ShowText(" "); >> >

Не давай организму поблажки, каждый день тренируй его в шашки..
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239

Спасибо, помогло.
Только пока ковырялся решил сделать графический интерфейс и теперь мне надо вывести результат в текстбокс ну или в лейбл, но я не могу получить доступ к элементам формы из своего класса (static class Function), а только из класса формы (public partial class Form1 : Form).
Что делать?

Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
Дружите с Linq 😉
Форумчанин
Регистрация: 15.10.2008
Сообщений: 822
Заведи в своем классе экземпляр класса Form и в метод своего класса передавай форму Form1.
Не давай организму поблажки, каждый день тренируй его в шашки..
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239

Мде, раньше как то попроще было. Что то я пока не проникся новой логикой програмирования. Видимо преимущества начинаются только на больших проектах.
Поду дальше читать книжку.

Чтобы слова не расходились с делом, нужно молчать и ничего не делать.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подписаться на событие другого класса boris-blade Общие вопросы .NET 1 06.04.2010 22:53
Если в классе объявить объект другого класса,будет ли видно переменные первого класса из объекта второго? TwiX Общие вопросы Delphi 3 15.11.2009 00:54
Как обратиться к объекту формы из другого класса java micha-r Общие вопросы по Java, Java SE, Kotlin 1 03.10.2009 21:07
ActionScript как создать метод класса? Kn793 JavaScript, Ajax 0 15.07.2009 15:32
вызвать метод класса, находящегося в другом модуле zalum Общие вопросы Delphi 4 06.05.2009 08:47

Как вызвать метод класса Form из другого класса на C#?

Решил сделать простенькую программу, которая вычисляет из числа с плавающей запятой целую и дробную часть, но столкнулся с тем, что стандартные методы типа Convert.ToDouble или Double.TryParse на этапе компиляции вызывают исключения. Оказалось, что вся эта белиберда связана с тем, что в ОС Windows в настройках, разделителем целой и дробной части (см. рисунок ниже) выступает запятая, а я пихал числа с разделителем точка! Такие вещи прокатывали в Delphi, но не в C#.

Также оказалось довольно-таки проблематично вызвать метод одного класса из другого класса. Но как говорится, кто ищет — тот всегда найдёт!

Создаём проект

На форме помещаем три textBox и одну button.

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication42 < public partial class Form1 : Form < public Form1() < InitializeComponent(); >public double f; public class MyClass < public static TextBox EditText1 = new TextBox(); public string StrText = EditText1.Text; public void CalculateIntAndDouble(Form1 form) < form.textBox2.Text = Convert.ToString(Math.Truncate(Convert.ToDouble(this.StrText))); form.textBox3.Text = Convert.ToString(form.f - Convert.ToInt32(form.textBox2.Text)); >> private void button1_Click(object sender, EventArgs e) < string text; f = 0; text = textBox1.Text; Char separator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator[0]; String Source = text.Replace('.', separator); f = Convert.ToDouble(Source); MyClass.EditText1.Text = Convert.ToString(f); MyClass myClass2 = new MyClass(); myClass2.CalculateIntAndDouble(this); >> >

p.s. Или наоборот: System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(«en-US»);

p.s.s. И не надо ничего реплейсить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *