powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с объектом после CreateInstance
8 сообщений из 8, страница 1 из 1
Работа с объектом после CreateInstance
    #39119764
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.

Постараюсь объяснить в чем трудность. Есть несколько классов. Все они реализуют интерфейс ISearchible, т.е я точно знаю, что у них есть метод Search. Как мне этот метод вызвать, если у меня есть только строка с названием класса?

Должно быть что-то типа

Код: c#
1.
2.
3.
 string MyClassName = "Class1";
 object instance = Activator.CreateInstance(MyClassName);
 instance.Search();   


Но 'Activator.CreateInstance' возвращает объект типа 'object' и там не слышно про метод 'search' а привести его к своему типу как?


Заранее спаибо.
...
Рейтинг: 0 / 0
Работа с объектом после CreateInstance
    #39119766
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
    Type type = Type.GetType("Class1");
    object instance = Activator.CreateInstance(type);
    MethodInfo method = type.GetMethod("Search");
    method.Invoke(instance, null);
...
Рейтинг: 0 / 0
Работа с объектом после CreateInstance
    #39119783
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswell,
Ну как принято приводить к типу?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  public interface ITest
    {
        void Search();
    }
    public class Test : ITest
    {
        public void Search()
        {
            throw new NotImplementedException();
        }
    }
 static void Main(string[] args)
        {
            var t = Type.GetType("ConsoleApplication1.Test");
            var test = Activator.CreateInstance(t) as ITest;
            test.Search();

            Console.ReadLine();
        }
...
Рейтинг: 0 / 0
Работа с объектом после CreateInstance
    #39119794
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswell, а еще для такой фигни есть dynamic
...
Рейтинг: 0 / 0
Работа с объектом после CreateInstance
    #39119796
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buseraswell, а еще для такой фигни есть dynamic
Угу, а еще и дженерик
...
Рейтинг: 0 / 0
Работа с объектом после CreateInstance
    #39119867
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswell,
вообще то вот пральный способ
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
            var type = Type.GetType("mynamespace.Class1");
            if (type != null)
            {
                var instance = Activator.CreateInstance(type);
                var res = instance as ISearch;
                if (res != null)
                {
                    res.Search();
                }
            }


на мажорных версиях можно через дженерик
...
Рейтинг: 0 / 0
Работа с объектом после CreateInstance
    #39120225
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleronbuseraswell, а еще для такой фигни есть dynamic
Угу, а еще и дженерик
А еще Expressions
...
Рейтинг: 0 / 0
Работа с объектом после CreateInstance
    #39120280
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, я походу лентяй... Все работает
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с объектом после CreateInstance
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]