Revision: 29286
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 25, 2010 17:03 by darkbaron1912
Initial Code
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;
}
Initial URL
Initial Description
openpacs
Initial Title
Reflection convert all propperties
Initial Tags
Initial Language
C#