속성 : 사람은 다음과 같습니다내가 사람과 조직 엔티티가 C#
public class PersonEntity
{
public string FirstName {get;set;}
public string LastName {get;set;}
public bool IsValid(PersonEnum Attribute, string AttributeValue)
{
if(attribute == PersonEnum.FirstName && AttributeValue == null)
return false;
if(attribute == PersonEnum.LastName && AttributeValue == null)
return false;
return true;
}
}
나는 PersonEnum 가 // 단지 IsValid 방법을 지원하기 위해 만들었습니다.
public enum PersonEnum
{
FirstName, LastName
}
마찬가지로 조직 엔티티 및 ENUM있다.
내가 한 장소에서 모든 검증을 위해 다음과 같은 도우미 클래스를 만들려면, 내가 클래스 (법인)의 이름, 멤버 (열거)과 가치를 전달하려는 :
public class Helper
{
//Not sure how to pass A Class def and an attribute.
public static ValidateEntityAttribute(*[EntityEnum]*,*[EntityEnum]*, Value)
{
.. do something that looks at the Entity and call it's IsValid method.
}
}
을 수 리플렉션을 사용하지 않고 완료해야합니다. 또한 모든 항목에 사용할 수 있도록 일반화되기를 원합니다.
어떤 Suggesstions입니까? 당신의 디자인은 훨씬 더 열심히 수업을 변경하는 것 같은
을 왜 유효성 검사 프레임 워크를 사용합니까? –
IDataErrorInfo를 사용하여 비슷한 것을 얻을 수 있습니다. Reflection없이'ValidateEntityAttribute' albo를 작성할 수 있습니다. – LukLed