Erro C3299 do Compilador
'member_function' : não pode especificar restrições, elas são herdadas do método base
Ao substituir uma função genérica de membro, você não pode especificar cláusulas de restrição (repetir as restrições implica que as restrições não são herdadas).
As cláusulas de restrição sobre a função genérica que você está substituindo serão herdadas.
Confira mais informações em Restrições em parâmetros de tipo genérico (C++/CLI).
Exemplo
A seguinte amostra gera C3299.
// C3299.cpp
// compile with: /clr /c
public ref struct R {
generic<class T>
where T : R
virtual void f();
};
public ref struct S : R {
generic<class T>
where T : R // C3299
virtual void f() override;
};