더 이상 말도 안되는 코드를 게시해 보겠습니다. 구체적인 코드는 다음과 같습니다.
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="origin">源数据</param> /// <param name="target">对象数据</param> /// <param name="dict">变量名对应字典</param> public static void CopyTo<T>(this object origin, T target,Dictionary<string,string> dict)where T :class,new() { PropertyInfo[] props = target.GetType().GetProperties(); foreach (PropertyInfo info in props) { var variable = dict.FirstOrDefault(m => m.Value == info.Name); if (variable.Key!=null) { string variableName = variable.Key; string chineseName = variable.Value; var propertyValue = origin.GetType() .GetProperty(variableName) .GetValue(origin, null); if (propertyValue != null) { if (propertyValue.GetType().IsClass) { } target.GetType() .InvokeMember(chineseName, BindingFlags.SetProperty, null, target, new object[] { propertyValue }); } } } }
위는 . NET pass Dictionary는 클래스에 값을 할당하여 코드 내용을 구현합니다. 자세한 내용은 PHP 중국어 사이트(www.php.cn)를 참고하세요!