2009-12-27 5 views
0

객체의 인스턴스에서 그 속성으로 특정 데이터를 전달하고 싶습니다. 구현 방법을 이해하는 데 어려움이 있습니다. 다음은 샘플입니다 :객체 인스턴스 데이터를 속성으로 전달하기

[AuthenticateAttribute] 
public class MyController: Controller 
{ 
    UserInfo info; 
} 

아이디어는 AuthenticateAttribute 인스턴스가 사용자 정보 인스턴스를 채우는 것입니다.

info에 대한 참조를 AuthenticateAttribute의 인스턴스로 전달하여 속성과 특정 MyController 클래스 간의 강력한 결합을 제거하고자합니다.

이것이 가능합니까?

답변

1

속성 자체에는 UserInfo 필드 IMO가 없어야합니다. 유형에 대해 하나의 속성 인스턴스가 적용됩니다 (해당 유형의 인스턴스 당 하나가 아님).

당신은 우리가 더 많은 도움을 줄 수 있습니다 (이에 적용된 코드를 표시) 풀러 예를 ... 줄 수 있다면

+0

저에게 아주 새로운 소식입니다. 감사합니다. 유형의 특정 필드를 변경해야하는 경우 속성이 적용되는 유형의 내부를 반드시 인식해야합니다. – Andy

+0

@Andy : 형식 자체의 필드를 변경하는 것은 매우 이례적인 일이라고 생각합니다. 일반적으로이 속성은 다른 코드가 사용할 메타 데이터를 제공합니다. 활성 상태보다 수동적입니다. –

-1

컨트롤러의을 ViewData 컬렉션 속성에서 액세스 할 수 있으며 당신이 당신의 사용자 정보를 추가 할 수 있습니다 그것을 객체로 만든 다음 컨트롤러의 acion에서 액세스하십시오. UserInfo가 포함 된 입력 된 모델을 사용할 수도 있습니다. 이 시나리오는 여기에 설명되어 있습니다 Get permission from Authorize Attribute?

적용되는 속성의 유형 필드를 변경하는 것은 일반적이지 않으므로 매우주의해야합니다.

+0

감사합니다. 이것은 내가 찾고있는 것이 아닙니다. 필자의 관심은 주로 Controller 인스턴스와 attrubites 간의 상호 작용에 관한 것이 었습니다. – Andy

관련 문제