C\#대상 맵 의 고성능 프로젝트
2.AutoMapper 가 복잡 한 유형 과 내장 유형 을 처리 할 때 성능 이 매우 떨 어 지 는 상황 에 대해 스스로 간략화 판 대상 이 매 핑 하 는 고성능 방안 을 실현 한다.
public class Article
{
public int Id { get; set; }
public string CategoryId { get; set; }
public string Title { get; set; }
public string Pic { get; set; }
public string Host { get; set; }
public string PicHost => Pic.FormatHostUrl(Host);
public string Content { get; set; }
public bool TopStatus { get; set; }
public DateTime PublishDate { get; set; }
public string LastUpdateUser { get; set; }
public DateTime LastUpdateDate { get; set; }
public bool IsTeacher { get; set; }
public bool IsParent { get; set; }
public bool IsOrg { get; set; }
public bool IsLeaner { get; set; }
public string ToUserStr
{
get
{
List<string> strArr = new List<string>();
if (IsLeaner)
{
strArr.Add(" ");
}
if (IsOrg)
{
strArr.Add(" ");
}
if (IsParent)
{
strArr.Add(" ");
}
if (IsTeacher)
{
strArr.Add(" ");
}
return string.Join(",", strArr);
}
}
public int OrgId { get; set; }
public object OrgInfo { get; set; }
public string IsPlatformStr => OrgId == 0 ? " " : " ";
}
이제 우 리 는 두 줄 의 코드 를 사용 하여 대상 맵 문 제 를 해결 합 니 다.조작 이 더욱 편리 하도록 다 중 대상 맵
대상 맵 기능 을 실현 하 는 코드 는 다음 과 같 습 니 다.
public static T CopyObjValue<T>(this T toobj, Object fromobj) where T : class
{
if (fromobj != null && toobj != null)
{
var otherobjPorps = fromobj.GetType().GetProperties();
foreach (var formp in otherobjPorps)
{
var top = toobj.GetType().GetProperty(formp.Name);
if (top != null)
{
try
{
top.SetValue(toobj, formp.GetValue(fromobj));
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
return toobj;
}
C\#대상 맵 의 고성능 방안 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 고성능 대상 맵 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.