C 泛型方法結合反射的妙用

2021-08-14 17:02:06 字數 726 閱讀 9491

反射是一種動態引導程式集中所定義型別的過程,當然也包括它自身所在的程式集。這裡繼續沿用上篇文章的例子,總結在泛型方法中結合反射思想,從而優化**。

上篇文章處理了通過返回的中文列舉結果,翻譯為對應中文的方式,從而便於最後展示為英文。由於只有乙個後台,而該後台又是中文,客戶端又是英文,所以這裡在提交之前,還需要將物件中的英文本段,翻譯為中文之後,通過呼叫後台介面入庫,否則校驗通不過呼叫將失敗。

/// /// 物件屬性英文轉為中文

///

/// 物件的型別

/// 物件引數

/// 要轉換的屬性名稱

///

public static t1 chinesetoenglish(t1 value, string property)

//通過屬性的中文值,設定其為英文值

switch (value.gettype().getproperty(property).getvalue(value, null).tostring())

return value;

}

呼叫方式就變成了類似如下:

chinesetoenglishconvert.chinesetoenglish(vendorsinfo, "corp");

chinesetoenglishconvert.chinesetoenglish(vendorsinfo, "com");

C 反射泛型

c 泛型反射和普通反射的區別,泛型反射和普通反射的區別就是泛型引數的處理上 先看乙個簡單的例子。class class1 要利用反射動態建立該型別例項,並呼叫 test 方法,我們可以使用如下方法 type type typeof class1 object o activator.createin...

C 反射泛型

摘自 c 泛型反射和普通反射的區別,泛型反射和普通反射的區別就是泛型引數的處理上 先看乙個簡單的例子。class class1 要利用反射動態建立該型別例項,並呼叫 test 方法,我們可以使用如下方法 type type typeof class1 object o activator.creat...

c 泛型 反射

程式的賬套模組,有乙個賬套間相互複製資料的功能,有幾個表需要實現這個功能。這些表有共有屬性 user id和count set id。為了節省 我用乙個介面規範了這幾個類,其中介面包含上面兩個屬性。資料的操作是在linq to sql的基礎上實現的。所以操作大物件是dataclasses1datac...