8
votes

Comment obtenir la méthode générique sur le type de générique fermé, ayant une méthode ouverteInfo à partir de type Open Generic?

Imagine Tapez comme ceci (c #): xxx

donné que j'ai ouvert générique méthodalinfo à partir de la version générique ouverte du type ( iamGeneric <>. Soami <> () ) et le tableau suivant xxx

Je suis à la recherche d'une manière bien performante et fiable de recevoir une version fermée du Methodinfo < / code> comme ceci: xxx

mise à jour:

Par fiabilité Je veux dire que cela devrait gérer des cas lorsque la méthode n'est pas publique, a une douzaine de surcharges, utilise Arguments génériques du type de base, pas seulement son interface immédiate, etc.


1 commentaires

Si vous avez déjà un méthodyinfo à partir de l'interface, pourquoi vous souciez-vous des surcharges et des arguments génériques du type de base? La solution de @darrenkoppopp est tout ce dont vous avez besoin.


3 Réponses :


1
votes

quelque chose comme ça? Je ne sais pas exactement ce que vous cherchez, peut-être développer votre question ... Cela aurait certainement besoin de chèques ajoutés (comme la vérification si le type de déclaration est générique / si la méthode est générique, etc.) xxx


0 commentaires

1
votes

Voici un cas assez complexe pour obtenir raison:

public interface IAmGeneric<T>
{
    void SoAmI<T1, T2>(T one, T1 two, T2 three);
    void SoAmI<T1, T2>(T one, T2 two, T1 three);
    void SoAmI<T1, T2>(T1 one, T two, T2 three);
    void SoAmI<T1, T2>(T2 one, T1 two, T three);
    void SoAmI<T1, T2, T3>(T2 one, T1 two, T3 three);
}


1 commentaires

Yeap, cela pourrait marcher, et c'est ce que je fais en ce moment. Cependant, la performance est loin d'être stellaire, alors je vous demande s'il y a une meilleure façon



0
votes

0 commentaires