Как я смогу сделать так, чтоб смог вызвать конструктор Т с типом F? Что-то типа такого:
class blabla<T, F>
{
F variable = *value*;
public T coolMethod() {
return new T(variable);
}
}
class blabla<T, F> where T : new()
-, уже так пробовал. Пишет "T": при создании экземпляра типа переменной не удается задать аргументы
а, ну лучше тогда что-то вместо конструктора придумывать
Попробуй прописать генерик <T<F>>, но Т должен наследоваться от класса, который будет иметь дженерик <F> и конструктор new(F f), а F будет реализовывать какой то указанный интерфейс или другой базовый класс
ты та Гайка, которая от Хесуса ушла?)
Уф. Я думал может как-то попроще выйдет. Видимо придётся по другому делать. Потому что для лабы это неоправданное переусложнение)
Ну, я — в честь той Гайки, что написала "Каштанку"
class Test<T1> { public Test(T1 item) { } } class blabla<T1, T2> where T2 : Test<T1> { T1 variable; public T2 method() { return new T2(variable); } }
Джава-петушок пойдет фабрикой на всех отметившихся выше // если вам больше нравятся делегаты, то используйте делегат interface Provider<T, F> { T Create(F argument); } class uguomeka<T, F> { F argument; Provider<T, F> factory; T HanepgoJImb() { return Factory.Create(argument); } }
Обсуждают сегодня