2010-07-30 5 views
0

У меня есть класс универсального типа, который принимает 2 параметра. Теперь мне нужно добавить эти два значения параметров и вернуть результат.Выполнение операции добавления с использованием 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

Под 'Add' вы делаете« числовые »,« конкатенация »или что-то, что запрограммировано для' + Operator'? Единственное, что можно сделать без какой-либо формы отражения, - это concat. –

+1

Когда вы говорите «Добавить», вы имеете в виду Сум? Или Добавить в качестве участника? –

+0

Мне нужно добавить значение. как бы я вернул результат к вызывающей функции – happysmile

ответ

2

Если вы в буквальном смысле значит добавить, как в TText + TValue то у вас есть два варианта здесь:

  1. Вы можете заставить их реализовать интерфейс, который имеет метод Add (или любой другой), и вызов что, или

  2. Попросите абонента передать делегат, который делает дополнение.

С неограниченными родового типа-параметры эффективно object ссылки, вы не можете работать с ними напрямую. Вместо этого получите код вызова, чтобы сделать тяжелый подъем, так как они знают, что делать.