Я хочу получить доступ к статическим полям типа, который является классом, введенным в общей функции. Но компилятор всегда дает мне эту ошибкуДоступ к статическому полю имени типа в общей функции
«T» является «параметр типа», который не действует в данном контексте
здесь код.
public class A
{
public static int Num = 1;
public int GetClassNum<T>() where T : A
{
//return T.Num;
//return default(T).Num;
//return what???
}
}
public class B : A
{
public static int Num = 2;
}
public class C : A
{
public static int Num = 3;
}
Я подозреваю, что это что-то делать с тем, что интерфейсы, как правило, используется для фильтрации TypeName в обобщенной функции. или это должно быть всегда? В этом случае не должно быть статического поля. Есть ли способ, которым я могу достичь?
ОК, но как насчет без ввода ввода в качестве параметра? –
Для получения своих свойств необходимо иметь экземпляр типа. –