/ Published in: C#
openpacs
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
private static object Convert2DataContract2(object objDataTypeIn, string strTableName) { //@ Äổi từ M_AEM -> M_AemManager string strDataContractManager = strTableName.Substring(0, 3) + strTableName.Substring(3).ToLower() + "Manager."; //@ Äổi từ M_AEM -> M_AemDataContract string strDataContract = strTableName.Substring(0, 3) + strTableName.Substring(3).ToLower() + "DataContract"; //@ Äổi từ M_AEM -> M_AemDataContract2 string strDataContract2 = strTableName.Substring(0, 3) + strTableName.Substring(3).ToLower() + "DataContract2"; //@ load Assembly chứa DataContract Assembly objAssemblyDataConntract = System.Reflection.Assembly.Load(ASEEMBLY_DATACONTRACT); //@ load Assembly chứa DataContract2 Assembly objAssemblyDataConntract2 = System.Reflection.Assembly.Load(ASEEMBLY_DATACONTRACT2); //@ lấy kiểu tÆ°Æ¡ng ứng của M_AemDataContract Type objTypeIn = objAssemblyDataConntract.GetType(DATACONTRACT_NAMESPACE + strDataContractManager + strDataContract); //@ lấy kiểu tÆ°Æ¡ng ứng của M_AemDataContract Type objTypeOut = objAssemblyDataConntract2.GetType(DATACONTRACT_NAMESPACE2 + strDataContract2); object objReturnTypeOut = Activator.CreateInstance(objTypeOut); //@ lấy tất cả thuá»™c tÃnh của Data Contract PropertyInfo[] objListPropertyInfo = objTypeIn.GetProperties(); foreach (PropertyInfo objPropertyInfoIn in objListPropertyInfo) { //@@ Lấy giá trị tÆ°Æ¡ng ứng của thuá»™c tÃnh Data Contract object objProperty = objPropertyInfoIn.GetValue(objDataTypeIn, null); //@@ Lấy thuá»™c tÃnh tÆ°Æ¡ng ứng của Data Contract2 PropertyInfo objPropertyInfoOut = objTypeOut.GetProperty(objPropertyInfoIn.Name, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); //@@ Gán giá trị sang kết quả trả vá» objPropertyInfoOut.SetValue(objReturnTypeOut, objProperty, null); } //@ set thêm thuá»™c tÃnh TableName cho kết quả trả vá» PropertyInfo objPropertyTableName = objTypeOut.GetProperty("TableName", BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); objPropertyTableName.SetValue(objReturnTypeOut, strTableName, null); return objReturnTypeOut; }