/ Published in: C#
openpacs
Expand |
Embed | Plain Text
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; }
You need to login to post a comment.
