클래스에서 몇 가지 유효성 검사를 수행하려고하므로 특성을 사용할 수 있다고 생각했습니다. 이처럼 :속성 장식 속성의 값 가져 오기
public class someClass
{
[Lenght(200)]
public string someStr { get; set; }
}
[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)]
sealed class Lenght : Attribute
{
public Lenght(int Lenght)
{
//some code
}
}
그러나 나는이 일을 속성없는 방법이기 때문에 나는 그것을 할 수 있다는 것을 알고. 그리고, 방법이 있다면, 나는 피하고 싶은 무거운 반성과 불투명 함을 사용할 것입니다.
내가하고 싶은 검증은 다음과 같이이다 :
public class someClass
{
public string someStr
{
get
{
return _someStr;
}
set
{
if (value.Length > 200)
{
throw new Exception("Max Length is 200!");
}
else _someStr = value;
}
}
private string _someStr { get; set; }
}
하지만이 모든 코드없이, 빨리하고 싶어. 나는 속성을 사용하는 것만큼 빨리 원한다.
내가 할 수있는 방법이 있습니까?
나는이 질문을 올린 지 2 년이되었으며, 오늘은 여기서 내 질문을 검토하고 있습니다. 그때부터 C#을 배웠습니다. 지금은이 질문을하지 않겠습니다. 속성을 사용하여 유효성을 검사하지도 않았습니다. 약간의 노력을했기 때문에 답변을 수락 했으므로 SomeClass의 코드가 내 질문에 게시 한 것과 거의 똑같은 것을 지적하고 싶습니다. 또한 내부 속성 유효성 검사에 대한 경험이 있은 후 다시는이 작업을 수행하지 않으려 고합니다. 속성 내에서 예외를 throw하지 않을 것입니다. 그 이후로 내 마음이 완전히 바뀌었다. –