В следующем коде, я хотел бы вызвать метод, который я объявил в производном классе:новообращенный/литой базовый тип для производного родового типа
class BaseClass
{
// ...
}
class A<T> : BaseClass
{
public void F(T args){ //... }
}
class B<T> : BaseClass
{
// B<T> doesn't have method F()
}
///....
class myApplication
{
// ...
public void DoSomething(BaseClass arg)
{
// Now I know that arg is of type A<T> for some type T
// but I don't know what T is. Also declaring DoSomething
// as DoSomething<T>() is not an option.
//
// I would like to call (arg as A<T>).F(...) but how can I
// deduce T? Can it be done in any other way?
}
}
Пожалуйста, прочтите комментарий в коде. Как я могу сделать что-то подобное?
have u попытался 'class myApplication'? –
Предположительно у вас есть объект, который вы собираетесь передать в F, так что вы не знаете его тип? –