2010-07-30 4 views
0

J'ai une classe de type générique qui accepte 2 paramètres. maintenant je dois ajouter ces deux valeurs de paramètre et renvoyer le résultat.Effectuer une opération d'ajout en utilisant Generic Concept

class AddValue<TText, TValue> 

    { 
     public AddValue(TText text, TValue value) 
     { 
      Text = text; 
      Value = value; 

     } 
     public TText Text { get; set; } 
     public TValue Value { get; set; } 
    } 
+1

Par 'Add', avez-vous' Numeric', 'Concatenation', ou quoi que' '+ Operator' soit programmé pour faire? Le seul qui peut être fait sans une certaine forme de réflexion est concat. –

+1

Quand vous dites Ajouter, voulez-vous dire Sum? Ou Ajouter en tant que membre? –

+0

J'ai besoin d'ajouter la valeur. comment pourrais-je retourner le résultat à la fonction d'appel – happysmile

Répondre

2

Si vous voulez dire littéralement Ajouter, comme dans TText + TValue alors vous avez deux options:

  1. Vous pouvez les forcer à implémenter une interface qui a une méthode Add (ou autre), et appel ou

  2. Demandez à l'appelant de transmettre un délégué qui effectue l'ajout.

Depuis des paramètres de type générique non limités sont efficacement object références, vous ne pouvez pas fonctionner directement sur eux. Au lieu de cela, obtenir le code appelant pour faire le gros du travail, car ils savent quoi faire.

Questions connexes