2016-09-01 2 views
0

내 대답 클래스의 다른 인스턴스에 속성은 C# 클래스의 특정 속성에 속성 이 클래스의 다른 인스턴스에있는 필드. 등 은 다음과 내가 다른 DataAnnotations를 추가하고 싶었

AnswerViewModel a1 = new AnswerViewModel(); 
AnswerViewModel a2 = new AnswerViewModel(); 

에 나는 DateTimeAttribute가 PasswordAttribute 등등 적용해야한다 QuestionText 필드 A2 적용에 가지고 A1에 QuestionText 필드를 원한다. 이것이 Reflection 또는 TypeDescriptor를 통해 수행 될 것이라는 것을 알고 있지만 어떻게 완료 될지 완전히 알 수 없습니다.

답변

2

불가능합니다. 데이터 주석은 모든 인스턴스에 적용됩니다. 그런 다음

public abstract class BaseAnswerViewModel 
{ 
    public abstract string QuestionText { get; set; } 
    public string AnswerText { get; set; } 
} 

public class DateTimeAnswerViewModel : BaseAnswerViewModel 
{ 
    [DataType(DataType.DateTime)] 
    public override string QuestionText { get; set; } 
} 

public class PasswordAnswerViewModel : BaseAnswerViewModel 
{ 
    [DataType(DataType.Password)] 
    public override string QuestionText { get; set; } 
} 

:

var a1 = new DateTimeAnswerViewModel(); 
var a2 = new PasswordAnswerViewModel(); 
당신이 찾고있는 무엇을 달성 할 수있는 유일한 방법은 별도의 뷰 모델을 사용하는 것입니다
관련 문제