이 기사는 클래스의 속성 값에 동적으로 액세스하고 추출하는 일반적인 방법을 소개합니다.
유형 매개 변수를 허용하는 일반적인 메소드를 정의합니다.
public string GetDomainName()
]
메소드 내부 :
사용 typeof (t) .getCustomAttributes
사용 사용자 정의 속성을 검색합니다.
var dnAttribute = typeof(T).GetCustomAttributes(
typeof(DomainNameAttribute), true
).FirstOrDefault() as DomainNameAttribute;
속성이 존재하면 그 값이 반환됩니다 :
if (dnAttribute != null)
{
return dnAttribute.Name;
}
그렇지 않으면 return null :
return null;
]]]]
더 넓은 적용 가능성을 위해이 방법을 일반화하여 속성을 처리합니다.
public static class AttributeExtensions
{
public static TValue GetAttributeValue(
this Type type,
Func valueSelector)
where TAttribute : Attribute
}
확장 방법 내부 :
사용자 정의 속성 검색 :
var att = type.GetCustomAttributes(
typeof(TAttribute), true
).FirstOrDefault() as TAttribute;
속성이 존재하는 경우 제공된 valueSelector
를 사용하여 필요한 값을 추출하십시오 :
if (att != null)
{
return valueSelector(att);
}
그렇지 않으면이 유형의 기본값을 반환합니다.
return default(TValue);
]
domainName
속성 myclass
: string name = typeof(MyClass).GetDomainName();
의 속성 값을 검색합니다.
문자열 이름 = typeof (myclass)
.getAttributeValue 부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3