Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов обобщенного метода по переданному типу данных / 8 сообщений из 8, страница 1 из 1
20.07.2016, 16:39
    #39277214
JohnSparrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов обобщенного метода по переданному типу данных
Доброго времени суток

Возможно ли реализовать следующее:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
void SomeMethod(string typename)
{
	var type = Type.GetType(typename);
	
	var test = new Test();
	test.Process<type>(() => {...});
}

public class Test
{
	public void Process<T>(Action<T> handler)
	{
		...
	}
}



Суть проблемы: возможно ли по переданному в обычный метод имени типа вызвать соответствующий обобщенный метод?
...
Рейтинг: 0 / 0
20.07.2016, 16:47
    #39277220
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов обобщенного метода по переданному типу данных
Тип Т должен быть известен на этапе компиляции.
...
Рейтинг: 0 / 0
20.07.2016, 18:02
    #39277288
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов обобщенного метода по переданному типу данных
JohnSparrowДоброго времени суток

Возможно ли реализовать следующее:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
void SomeMethod(string typename)
{
	var type = Type.GetType(typename);
	
	var test = new Test();
	test.Process<type>(() => {...});
}

public class Test
{
	public void Process<T>(Action<T> handler)
	{
		...
	}
}



Суть проблемы: возможно ли по переданному в обычный метод имени типа вызвать соответствующий обобщенный метод?

Reflexion?
...
Рейтинг: 0 / 0
20.07.2016, 18:42
    #39277314
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов обобщенного метода по переданному типу данных
Ролг ХупинReflexion? OOP Ъ! GoF
...
Рейтинг: 0 / 0
20.07.2016, 18:58
    #39277322
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов обобщенного метода по переданному типу данных
если подсказать компилятору тип - то можно..
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 class Program
    {
       static void SomeMethod(string typename)
        {
           var instance = Activator.CreateInstance(Type.GetType(typename));
           var test = new Test();
           test.Process(ss => { Console.Write(ss.GetType().Name);  }, instance);
        }
        static void Main(string[] args)
        {
            SomeMethod("ConsoleApplication1.Test");
        }
    }
    public class Test
    {
        public void Process<T>(Action<T> handler,T t)
        {
            handler.Invoke(t);
        }
    }
...
Рейтинг: 0 / 0
20.07.2016, 21:19
    #39277367
JohnSparrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов обобщенного метода по переданному типу данных
Большое спасибо.
...
Рейтинг: 0 / 0
21.07.2016, 10:09
    #39277564
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов обобщенного метода по переданному типу данных
Где-то в степиесли подсказать компилятору тип - то можно..

тута завсегда будет object, нафига тогда вообще все эти дженерики?
...
Рейтинг: 0 / 0
21.07.2016, 10:44
    #39277598
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов обобщенного метода по переданному типу данных
ЕвгенийВ,
Ну и зачем ты у меня это спрашиваешь? спроси у та.
он спросил ему ответили - нет, я добавил можно если указать тип через аргумент и ффсё..
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов обобщенного метода по переданному типу данных / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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