개체를 다른 개체로 복제하려고하지만 원본 개체에서 속성을 제외하고 싶습니다. 예를 들어, 객체 A가 Name, Salary, Location을 가지고 있다면, 복제 된 객체는 Location 속성을 제외하면 Name과 salary 속성 만 가져야합니다. 감사.개체를 다른 개체에 복제했지만 일부 속성을 제외 하시겠습니까?
0
A
답변
0
는 여기에 내가이 작업을 수행하는 데 사용하는 확장 메서드입니다.
다음은 확장 프로그램 사용 방법의 예입니다.
var skipProperties = new[] { "Id", "DataSession_Id", "CoverNumber", "CusCode", "BoundAttempted", "BoundSuccess", "DataSession", "DataSessions","Carriers" };
DataSession.Quote = new Quote().CloneExcept(lastSession.Quote, skipProperties);
확장 메서드로 구현되므로 호출하는 개체를 수정하고 편의상 반환합니다. 이것은 [질문]에서 논의되었습니다 : Best way to clone properties of disparate objects
0
자바에 대해 이야기하는 경우 "일시적인"키워드를 사용해보십시오. atleast이 serialization을 위해 작동합니다.
public static T CloneExcept<T, S>(this T target, S source, string[] propertyNames)
{
if (source == null)
{
return target;
}
Type sourceType = typeof(S);
Type targetType = typeof(T);
BindingFlags flags = BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance;
PropertyInfo[] properties = sourceType.GetProperties();
foreach (PropertyInfo sPI in properties)
{
if (!propertyNames.Contains(sPI.Name))
{
PropertyInfo tPI = targetType.GetProperty(sPI.Name, flags);
if (tPI != null && tPI.PropertyType.IsAssignableFrom(sPI.PropertyType))
{
tPI.SetValue(target, sPI.GetValue(source, null), null);
}
}
}
return target;
}
또한 Automapper을 확인 수 있습니다
관련 문제
- 1. 개체를 다른 개체에 머물도록 제한
- 2. Playframework RenderXml - 응답으로 일부 입력란을 제외 하시겠습니까?
- 3. 동적 개체에 동적으로 속성을 추가 하시겠습니까?
- 4. 기존 개체에 속성을 동적으로 추가하십시오.
- 5. 다른 개체에 유사한 개체 속성을 설정하십시오.
- 6. XGrabKeyboard에서 일부 키 제외
- 7. 데이터 개체를 개체에 삽입
- 8. Firefox Addon : 일부 기능 및 개체를 창 개체에 추가
- 9. XML에서 특정 태그를 제외 하시겠습니까?
- 10. javascript : 다른 프레임에있는 개체에 액세스 하시겠습니까?
- 11. 일부 클릭 만 캡처하기 (일부 제외)
- 12. 어떻게 개체를 TGridColumns 개체에 연결합니까?
- 13. C# .Net에서 URLDecode하는 방법은 있지만 일부 문자는 제외 하시겠습니까?
- 14. DOM에서 전체 HTML을 가져 오지만 일부 요소를 제외 하시겠습니까?
- 15. if 문을 제외 하시겠습니까?
- 16. MYSQL 어디에서 제외 일부 라인은
- 17. SELECT 문의 일부 열 제외
- 18. Eclipse에서 일부 파일을 디버깅에서 제외
- 19. php에서 pattern_match의 일부 패턴 제외
- 20. 다른 개체에 포함 된 개체를 어떻게 선택할 수 있습니까? jQuery
- 21. 여러 개체를 다른 클래스/개체에 할당하는 방법은 무엇입니까?
- 22. WPF - 다른 개체에 포함 된 개체를 찾는 방법?
- 23. 개체에 대한 참조로 속성을 설정하십시오.
- 24. IE6에서 개체에 속성을 추가하려면 어떻게해야합니까?
- 25. 레일에서의 XML 렌더링에서 일부 ActiveRecord 속성 제외
- 26. 엔티티 프레임 워크의 개체에 대한 업데이트를 제외 할 수 있습니까?
- 27. Sols. stats.field에서 제외 하시겠습니까?
- 28. 용어집에서 입력을 제외 하시겠습니까?
- 29. 코코아 - 개체를 다시 초기화 하시겠습니까?
- 30. Django : 다른 테이블의 결과로 개체를 필터링 하시겠습니까?
아니요, 저는 C#을 사용하고 있습니다. – user282807
@ user282807 다음 번에 특정 언어에 맞는 언어 태그를 설정하십시오. 관련없는 답변을 파싱하고 다른 언어를 작성하지 않아도됩니다 .- 고맙게도 멋진 커뮤니티 회원이 이미이 태그를 추가했습니다. – mbx