Здравствуйте, Serginio1, Вы писали:
S>Там еще одна особенность
Огромная просьба: пишете код для других — используйте нормальные соглашения по именованию. А то хираганой отвечать буду ;P
S> Есть типы которые содержат ограничения и для них
S>TI.GetGenericParameterConstraints() будет возвращать истину
S>а
S>IsConstructedGenericType ложь
Ну так by design. .GetGenericParameterConstraints() работает только для generic arguments.
Т.е. для
class Typed<T> where T: struct,IEquatable<T> { }
* typeof(Typed<>) - unboung generic type
* typeof(Typed<>).GetGenericArguments()[0] - generic type arg (тот самый T)
* typeof(Typed<>).GetGenericArguments()[0].GetGenericParameterConstraints() - ограничения generic type arg
по-хорошему для каждого из трёх надо бы заводить свой тип, чтоб не путаться, но тут уже поздно метаться.