개체가 Email
이고 List<Attachment>
속성에있는 첨부 파일의 수를 확인하려고 시도하고 있습니다.LINQ의 유효성 검사를 위해 Add 메서드를 오버로드하는 중
트릭은 우리가 WCF 서비스에서 Send()
메서드를 사용한다는 것입니다. 서버 측의 유효성을 검사하기는 쉽지만 클라이언트 측에서 먼저 유효성을 검사하려고합니다.
서비스를 사용하기 위해 다른 사람들이 사용하기로되어있는 라이브러리를 생성했습니다.이 라이브러리는 모든 개체와 사용 가능한 방법을 포함하는 프록시를 갖습니다. 어떤 추가 할 때 컬렉션을 검사 할 수 있도록 일부 사용자 지정 코드를 사용하여 GenericList에 Add()
메서드를 오버로드 할 수 있어야한다고 생각하고 지정된 최대 값을 초과하면 예외가 throw됩니다.
public partial class List<Attachment>
{
public void Add(Attachment item)
{
base.Add(item);
if (this.Count() > maxAttachments)
{
throw new Exception("fail")
}
}
}
이것은 작동하지 않습니다. 클래스 base.Add()를 사용할 수없고 지정된 유형의 부분 클래스를 정의 할 수 없습니다.
일부 사용자 지정 코드를 포함 할 수 있도록 Add 메서드의 오버로드를 어떻게 만듭니 까?
환상적입니다. 감사합니다. 이것은 내 프록시에서 모든 svcutil 생성 코드 사이에 구현하는 두통이 될 것이지만 확실히 작동 할 것입니다. –
svcutil.exe를 사용하는 경우/collectionType (/ ct) 옵션을 확인하십시오. 약간의 고통을 덜어 줄 수 있습니다. http://msdn.microsoft.com/en-us/library/aa347733.aspx를 참조하십시오. – bobbymcr