вызов класса



Автор Максим Веснин задал вопрос в разделе Другие языки и технологии

Вопрос по C#. Как вызвать метод одного класса в другом классе, без объявления объекта этого класса? и получил лучший ответ

Ответ от Кому Какая-Разница[гуру]
Ну он же статический, помечен ключевым словом static, значит его можно вызывать без объявления объекта класса. ИмяКласса. имяСтатическогоМетода ()
Кому Какая-Разница
Мыслитель
(8710)
в c# нельзя. только через указание имени класса
в Java например можно проворачивать такое через Import static

Ответ от Melfin[гуру]
Есть такая волшебная папка App_Data с глобальными функциями. Чтобы не дублировать код, делаешь там функцию, которую будешь использовать в различных классах.

Ответ от Jet Set[гуру]
Пометь его static. Если он, конечно, не использует переменные класса...

Ответ от Англичанка гадит[новичек]
что значит "напрямую"? написав Class2.rl(); вы и вызовете его напрямую, не создавая объект Class2

Ответ от Николай Веселуха[гуру]
Нет, нельзя. Чтобы что-то вызвать, нужно обратиться туда, где это содержится. Однако можно сделать и вот так...
using System;
namespace ConsoleTest {
public delegate void CallMethod();
class Program {
static void Main(string[] args) {
Matras obj = new Matras();
CallMethod call = obj.Method;
Method(call);
Console.ReadKey();
}
static void Method(CallMethod call) {
call(); // вот ваш вызов!
}
}
public class Matras {
public void Method() {
Console.WriteLine("Метод класса Matras");
}
}
}

Ответ от Александр Малевинский[гуру]
Только через делегаты. Что бы не писать своих, воспользуйтесь уже готовыми делегатами Action или Func, в зависимости от того, нужно вам возвращать значение из метода или нет.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Вопрос по C#. Как вызвать метод одного класса в другом классе, без объявления объекта этого класса?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*