// / 소스 데이터/// 객체 데이터/// // / 소스 데이터/// 객체 데이터///

 >  기사  >  백엔드 개발  >  .NET은 사전을 통해 클래스에 값을 할당하여 코드를 구현합니다.

.NET은 사전을 통해 클래스에 값을 할당하여 코드를 구현합니다.

黄舟
黄舟원래의
2017-02-22 10:33:101985검색

더 이상 말도 안되는 코드를 게시해 보겠습니다. 구체적인 코드는 다음과 같습니다.

/// <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)를 참고하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.