Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
11년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
21 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
43 행
복사
22 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
43 행
복사
복사
복사됨
복사
복사됨
internal static IDictionary<string, RouteMember> GetQueryProperties(Type requestType)
internal static IDictionary<string, RouteMember> GetQueryProperties(Type requestType)
{
{
복사
복사됨
복사
복사됨
var result = new Dictionary<string, RouteMember>(
StringExtensions
.InvariantComparerIgnoreCase
());
var result = new Dictionary<string, RouteMember>(
PclExport.Instance
.InvariantComparerIgnoreCase
);
var hasDataContract = requestType.HasAttr
<DataContractAttribute>();
var hasDataContract = requestType.HasAttr
ibute
<DataContractAttribute>();
foreach (var propertyInfo in requestType.GetPublicProperties())
foreach (var propertyInfo in requestType.GetPublicProperties())
{
{
var propertyName = propertyInfo.Name;
var propertyName = propertyInfo.Name;
if (!propertyInfo.CanRead) continue;
if (!propertyInfo.CanRead) continue;
if (hasDataContract)
if (hasDataContract)
{
{
복사
복사됨
복사
복사됨
if (!propertyInfo.
IsDefined(typeof(
DataMemberAttribute
), true
)) continue;
if (!propertyInfo.
HasAttribute<
DataMemberAttribute
>(
)) continue;
var dataMember = propertyInfo.FirstAttribute<DataMemberAttribute>();
var dataMember = propertyInfo.FirstAttribute<DataMemberAttribute>();
if (!string.IsNullOrEmpty(dataMember.Name))
if (!string.IsNullOrEmpty(dataMember.Name))
{
{
propertyName = dataMember.Name;
propertyName = dataMember.Name;
}
}
}
}
복사
복사됨
복사
복사됨
else
result[propertyName.ToCamelCase()] = new PropertyRouteMember(propertyInfo)
{
{
복사
복사됨
복사
복사됨
if (
propertyInfo.
IsDefined(typeof(
IgnoreDataMemberAttribute
), true)) continue;
IgnoreInQueryString =
propertyInfo.
FirstAttribute<
IgnoreDataMemberAttribute
>() != null, //but allow in PathInfo
}
}
;
result[propertyName.ToCamelCase()] = new PropertyRouteMember(propertyInfo)
;
}
}
복사
복사됨
복사
복사됨
if (JsConfig.IncludePublicFields)
if (JsConfig.IncludePublicFields)
{
{
foreach (var fieldInfo in requestType.GetPublicFields())
foreach (var fieldInfo in requestType.GetPublicFields())
{
{
복사
복사됨
복사
복사됨
var fieldName = fieldInfo.Name;
var fieldName = fieldInfo.Name;
if (fieldInfo.IsDefined(typeof(IgnoreDataMemberAttribute), true)) continue;
복사
복사됨
복사
복사됨
result[fieldName.ToCamelCase()] = new FieldRouteMember(fieldInfo)
;
result[fieldName.ToCamelCase()] = new FieldRouteMember(fieldInfo)
}
{
IgnoreInQueryString = fieldInfo.FirstAttribute<IgnoreDataMemberAttribute>() != null, //but allow in PathInfo
};
}
복사
복사됨
복사
복사됨
}
}
return result;
return result;
}
}
저장된 비교 결과
원본
파일 열기
internal static IDictionary<string, RouteMember> GetQueryProperties(Type requestType) { var result = new Dictionary<string, RouteMember>(StringExtensions.InvariantComparerIgnoreCase()); var hasDataContract = requestType.HasAttr<DataContractAttribute>(); foreach (var propertyInfo in requestType.GetPublicProperties()) { var propertyName = propertyInfo.Name; if (!propertyInfo.CanRead) continue; if (hasDataContract) { if (!propertyInfo.IsDefined(typeof(DataMemberAttribute), true)) continue; var dataMember = propertyInfo.FirstAttribute<DataMemberAttribute>(); if (!string.IsNullOrEmpty(dataMember.Name)) { propertyName = dataMember.Name; } } else { if (propertyInfo.IsDefined(typeof(IgnoreDataMemberAttribute), true)) continue; } result[propertyName.ToCamelCase()] = new PropertyRouteMember(propertyInfo); } if (JsConfig.IncludePublicFields) { foreach (var fieldInfo in requestType.GetPublicFields()) { var fieldName = fieldInfo.Name; if (fieldInfo.IsDefined(typeof(IgnoreDataMemberAttribute), true)) continue; result[fieldName.ToCamelCase()] = new FieldRouteMember(fieldInfo); } } return result; }
수정본
파일 열기
internal static IDictionary<string, RouteMember> GetQueryProperties(Type requestType) { var result = new Dictionary<string, RouteMember>(PclExport.Instance.InvariantComparerIgnoreCase); var hasDataContract = requestType.HasAttribute<DataContractAttribute>(); foreach (var propertyInfo in requestType.GetPublicProperties()) { var propertyName = propertyInfo.Name; if (!propertyInfo.CanRead) continue; if (hasDataContract) { if (!propertyInfo.HasAttribute<DataMemberAttribute>()) continue; var dataMember = propertyInfo.FirstAttribute<DataMemberAttribute>(); if (!string.IsNullOrEmpty(dataMember.Name)) { propertyName = dataMember.Name; } } result[propertyName.ToCamelCase()] = new PropertyRouteMember(propertyInfo) { IgnoreInQueryString = propertyInfo.FirstAttribute<IgnoreDataMemberAttribute>() != null, //but allow in PathInfo }; } if (JsConfig.IncludePublicFields) { foreach (var fieldInfo in requestType.GetPublicFields()) { var fieldName = fieldInfo.Name; result[fieldName.ToCamelCase()] = new FieldRouteMember(fieldInfo) { IgnoreInQueryString = fieldInfo.FirstAttribute<IgnoreDataMemberAttribute>() != null, //but allow in PathInfo }; } } return result; }
비교하기