Кто-нибудь может объяснить, почему это невозможно (по крайней мере, в .Net 2.0):
public class A
{
public void Method() where U : T
{
...
}
}
...
A obj = new A();
obj.Method();
где K является надклассом J
РЕДАКТИРОВАТЬ
Я попытался упростить задачу, чтобы сделать вопрос более разборчивым, но я явно переусердствовал. Извиняюсь!
Думаю, моя проблема немного конкретнее. Это мой код (на основе this):
public class Container
{
private static class PerType where U : T
{
public static U item;
}
public U Get() where U : T
{
return PerType.item;
}
public void Set(U newItem) where U : T
{
PerType.item = newItem;
}
}
и я получаю эту ошибку:
Container.cs(13,24): ошибка CS0305: Использование универсального типа
Container
аргумент(ы) типа 2'.PerType' требует