public class MyType<T>
{
private readonly T field;
public MyType(T value) { field = value; }
}
они могут, нет необходимости рассказывать конструктору «что такое T» снова, поскольку вы уже сделали это в объявлении класса.
также ваша фабрика неверна, вы нужно иметь public class MyTypeFactory<T>
не только public class MyTypeFactory
- если вы не объявите фабрику внутри класса MyType
Редактировать для обновления:
Ну, это 42 длинный, короткий , int или что-то еще?
Предположим, у вас есть следующее
class Base
{
public virtual void DoStuff() { Console.WriteLine("Base"); }
}
class Foo : Base
{
public override void DoStuff() { Console.WriteLine("Foo"); }
}
. Тогда вы сделали это
var c = new Foo();
var myType = new MyType(c);
Ожидаете ли вы foo
или base
? Нам нужно сообщить компилятору, что использовать вместо T
Когда вы действительно хотели использовать тип base
Следовательно,
var myType = new MyType<Base>(c);
Измените ваш код, как показано ниже:
public void getUserInfo(){
RecyclerView accountUsers = (RecyclerView) account.findViewById(R.id.AccountList);
if (accountUsers != null)
{
...