То, что вы делаете, неправильно, вы пытаетесь получить доступ к типу, а не к экземпляру.
Итак, как решить эту проблему,
public class A
{
public static int Num = 1;
public int GetClassNum<T>(T inn) where T : A
{
inn.Num //really
}
}
подождите, подождите ... Выне могу сделать это тоже.Поскольку Num является статическим, а то, что мы передали (T inn), является ссылкой на объект (только класс может получить доступ к статическим полям, но не объектам). Затем, как мы можем заставить эту работу работать.Один из способов - сделать T статическим типом, поэтому
public static class A
{
public static int Num = 1;
public int GetClassNum<T>(T inn) where T : A // Error here
{
inn. /// no Num
}
}
подождите, вы тоже не сможете этого сделать.Поскольку вы не можете использовать статические экземпляры в качестве общего ограничения, потому что статический сам запечатан.
Итак, как получить доступ к Num, изменить Num на экземпляр объекта или обратиться к ответу Preets для другого варианта.