Bonjour,
Est-il possible de définir un opérateur implicite qui soit aussi générique ?
J'ai deux classes d'objets abstraites A et B et j'aimerai définir un opérateur de conversion de A vers B.
Les classes dérivant de A implémenteront la méthode ConvertToB() pour permettre de définir la conversion comme il faut.
Dans le genre ça pourrait donner le code suivant, sauf que l'emploi de la généricité telle quelle dans l'implicit operator ne fonctionne pas (erreur)
N.B: je n'ai pas rendu ma classe A générique mais seulement les méthodes car à ma connaissance cela pose des problèmes à ActiveRecord sinon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public abstract class A : ActiveRecordBase<A> { public static implicit operator T(A a) where T : B { return a.ConvertToB<B>(); } protected abstract T ConvertToB<T>() where T : B; }
Partager