2010-07-30 49 views
0

我有一類接受2個參數的泛型類型。 現在我需要添加這兩個參數值並返回結果。使用通用概念執行添加操作

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

通過'添加'您是'數字','串聯',還是'+操作符'編程的任何東西?沒有某種形式的反思,唯一可以做的就是concat。 – 2010-07-30 14:53:20

+1

當你說添加,你的意思是總和?或作爲會員添加? – 2010-07-30 14:54:04

+0

我需要添加該值。我將如何返回結果到調用函數 – happysmile 2010-07-30 15:03:51

回答

2

如果你從字面上的意思是添加,如TText + TValue那麼你這裏有兩種選擇:

  1. 您可以強制他們執行的是有一個Add方法(或其他)的接口,並且通話那個,或者

  2. 讓調用者傳遞一個委託來做這個加法。

由於無界泛型類型參數實際上是object引用,所以不能直接對它們進行操作。相反,請讓調用代碼完成繁重的工作,因爲他們知道該怎麼做。